运行 带有 jQuery 或 JavaScript 的 exe 文件

Run exe file with jQuery or JavaScript

我想知道是否可以使用 jQuery 或 JavaScript 从客户端打开 exe 文件。

我试过 windows.open("..") 但没用。

首先,Dalorzo 是正确的 - 如果不赚很多钱,就无法逃离浏览器的沙箱。最近 Pinky Pie 因在 Google Chrome.

上执行此类任务而从 Google 赢得了超过 6 万美元

http://blog.chromium.org/2012/05/tale-of-two-pwnies-part-1.html

但是,有时我会提出问题以尝试找到开箱即用的解决方案,因此我假设您对这个问题有合法的用例。如果您对此有合法用途,我可以帮助您想到 "hack" 解决方案。我可能会因为这个回复而被否决,但理论上你 可以 这样做...

回到大学时,我学习了计算机取证 class,我在其中编写了一个聊天网络应用程序,该应用程序可以取证地清除用户计算机上曾经访问过的聊天网页。这是通过用户 运行ning 他们可以从站点下载的可执行文件完成的。但是,我想让用户不必每次都 运行 可执行文件,所以我想要一个沙箱逃逸,就像你问的那样。

这很混乱,但如果您的用户是参与方,他们可以修改他们的计算机以允许 运行 来自 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

当然,我最终清理了这一切并将其打包,这样防病毒软件就不会标记它,接下来我知道 Google Chrome 已经标记了网站,哈哈。如果你 wanna check it out 它仍然存在 - 检查 Secure ChatRepeat Customer。 Chrome 会标记它,但显然有解决方法。