首先,Dalorzo 是正确的 - 如果不赚很多钱,就无法逃离浏览器的沙盒。最近,Pinky Pie 因在 Google Chrome 上执行此类任务而从 Google 赢得了超过 6 万美元。
http://blog.chromium.org/2012/05/tale-of-two-pwnies-part-1.html
但是,有时我会提出问题以尝试找到开箱即用的解决方案,因此我假设您对此问题有合法的用例。如果您对此有合法用途,我可以帮助您考虑“黑客”解决方案。我可能会因为这个回应而被遗忘,但理论上你可以这样做......
回到大学时,我参加了计算机取证课程,在课程中我编写了一个聊天 Web 应用程序,该应用程序可以取证清除用户计算机曾经访问过聊天网页的情况。这是通过用户运行他们可以从网站下载的可执行文件来完成的。但是,我想让用户不必每次都运行可执行文件,所以我想要一个沙盒逃逸,就像你问的那样。
这很麻烦,但如果您的用户是参与方,他们可以修改他们的计算机以允许从 Chrome 网页运行可执行文件。
请注意:这会降低您的计算机的安全性,我只在虚拟机或实验室机器上这样做过。重新考虑你是否真的想试试这个。
第一步: 创建 Chrome 自定义浏览器:
这是我最终编译成打包 *.exe 的 python,它完成了创建 Google Chrome 自定义浏览器。
import sqlite3 as lite
con = lite.connect('C:\Users\USERNAME\AppData\Local\Google\Chrome\User Data\Default\Web Data')
c = con.cursor()
#idmax = c.execute('SELECT MAX(id) FROM keywords')
#c.execute("INSERT INTO keywords VALUES('cleanupeverybodyeverywhere','cleanupeverybodyeverywhere','','forensichat://C:>Windows>System32>calc.exe',0,'',0,0,'',0,'',0,0,'',0,'','','','','','','','','')")
c.execute("SELECT * FROM keywords WHERE short_name='cleanupeverybodyeverywhere'")
foo = c.fetchall()
if foo == []:
c.execute("INSERT INTO keywords (short_name,keyword,url,favicon_url) VALUES ('cleanupeverybodyeverywhere','cleanupeverybodyeverywhere','forensichat://C:>Windows>System32>calc.exe','')")
con.commit()
con.close()
请注意,现在当我打开 Chrome 选项卡并使用自定义浏览器 cleanupeverybodyeverywhere 运行密钥 forensichat 时,它将打开 calc.exe 作为概念证明。
第二步: 修改您的 Windows 注册表:
import _winreg as wreg
import getpass
user = getpass.getuser()
key = wreg.CreateKey(wreg.HKEY_CLASSES_ROOT, '')
wreg.SetValue(key,'forensichat',wreg.REG_SZ,'URL:forensichat Protocol')
# Create new subkey
kkey = wreg.CreateKey(wreg.HKEY_CLASSES_ROOT, 'forensichat')
wreg.SetValueEx(kkey, 'URL Protocol', 0, wreg.REG_SZ,'')
# Create new value
wreg.CreateKey(wreg.HKEY_CLASSES_ROOT,"forensichat\shell")
nkey = wreg.CreateKey(wreg.HKEY_CLASSES_ROOT,"forensichat\shell\open")
wreg.SetValue(nkey,"command",wreg.REG_SZ,'C:\Users\\'+user+'\Downloads\\forensicleaner.exe')
key.Close()
请注意,我正在创建一个名为 forensichat 的密钥,它将运行用户下载文件夹中的 exe。
当然,我最终清理并打包了它,这样防病毒软件就不会标记它,接下来我知道谷歌浏览器已经标记了该站点哈哈。如果你 wanna check it out 仍然可以 - 检查 Secure Chat 和 Repeat Customer。 Chrome 会标记它,但显然有办法解决这个问题。