使用jQuery或JavaScript运行exe文件

时间:2016-08-18 16:20:17

标签: javascript jquery exe

我想知道是否有办法用jQuery或JavaScript从客户端打开exe文件。

我尝试windows.open(".."),但它没有用。

1 个答案:

答案 0 :(得分:1)

首先,Dalorzo是正确的 - 如果不赚很多钱,你无法逃脱浏览器的沙箱。最近,Pinky Pie在Google Chrome上执行此类任务,从Google赢得了超过6万美元。

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

但是,有时我会提出问题试图找到开箱即用的解决方案,所以我假设你有一个合法的用例来解决这个问题。如果你有合法的使用方法,我可以帮你想到一个“黑客”解决方案。我可能会忘记这个回应,但理论上你可以这样做......

回到大学时,我参加了一个计算机取证课程,在这个课程中,我编写了一个聊天网络应用程序,该应用程序可以取消用户的计算机访问聊天网页。这是通过用户运行可从站点下载的可执行文件来完成的。但是,我想让用户不必每次都运行可执行文件,所以我想要一个像你要问的沙盒逃生。

这很麻烦,但如果您的用户是参与方,他们可以修改他们的计算机以允许从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

当然,我最终清理了这一切并将其打包,因此Anti-Virus不会标记它,接下来我知道谷歌Chrome已标记该网站大声笑。如果你wanna check it out,它仍然有效 - 请检查Secure ChatRepeat Customer。 Chrome会标记它,但显然有办法解决这个问题。