webshell-cli是一個python腳本,允許以命令行方式訪問其關聯的網絡殼。 Webshell-CLI支持更改當前的工作目錄,設置環境變量,並允許輕鬆上傳和下載文件。


webshell-cli只是一個python腳本。安裝要求後,您應該能夠運行它:
[qtc@devbox ~] $ git clone https://github.com/qtc-de/webshell-cli
[qtc@devbox ~] $ cd webshell-cli
[qtc@devbox webshell-cli] $ pip3 install --user -r requirements.txt
[qtc@devbox webshell-cli] $ python3 webshell-cli.py
usage: webshell-cli.py [-h] [-m] [-f FILE_HISTORY] [-s SHELL] url
webshell-cli.py: error: the following arguments are required: urlWebshell-CLI僅適用於專門為該項目構建的網絡殼。您可以在Webshells目錄中找到受支持的網狀殼。當前,支持以下服務器端技術:
此外,Webshells目錄還包含用於構建.war檔案的構建腳本。
Webshell-CLI支持一些特殊命令,這些命令可以通過使用感嘆號作為命令行上的第一個字符來調用。下面您可以找到當前支持的特殊命令的列表:
!background <cmd>在後台執行指定命令!download <rfile> [<lfile>]從服務器下載遠程文件!upload <lfile> [<rfile>]將本地文件上傳到服務器!get <rfile> [<lfile>]供下載的別名!put <lfile> [<rfile>]上傳的別名!eval <lfile>評估服務器上的本地文件(僅適用於PHP)!env [<var>=<val>]設置一個環境變量!help顯示此幫助菜單在不指定變量的情況下使用!env命令時,它將輸出包含當前設置變量的列表。當指定!env clear時,所有手動添加的環境變量將被刪除。
您可以使用--shell選項為每個外殼使用自定義外殼命令。默認的shell命令為unix和cmd.exe /c /bin/sh -c外殼命令。 base64殼怎麼樣?沒問題:
[qtc@devbox ~] $ webshell-cli 172.18.0.2/webshell.php --shell base64
[nobody@efd0355fda4c /var/www/html/public] $ /etc/issue
V2VsY29tZSB0byBBbHBpbmUgTGludXggMy4xNQpLZXJuZWwgXHIgb24gYW4gXG0gKFxsKQoK默認情況下, webshell-cli使用歷史記錄文件~/.webshell_cli_history為您提供最新命令的命令行歷史記錄。您可以使用-f選項指定其他位置來存儲歷史記錄文件,也可以使用-m選項使用內存中命令歷史記錄。
歡迎對該項目的貢獻。 DOCS文件夾包含一個規範,列出了Webshell-CLI可消耗的Webshells的要求。此外,文檔列出了一些設計決策,因為某些事情並不是直接實施的。
該項目僅用於CTF挑戰和教育目的。由於互聯網上有大量的網狀殼,並且該存儲庫中的外殼甚至沒有實現混淆或加密,因此無論如何它們對現實世界的攻擊都不會有用。