简介
struts2shell 是一个用于攻击 struts2 框架的工具,可以利用 struts2 漏洞向目标服务器发送命令并获取结果。本文将详细介绍 struts2shell 的使用方法,并提供示例代码以供参考。
安装及使用
- 安装 struts2shell
使用 npm 安装 struts2shell:
--- ------- -- ------------
- 使用 struts2shell
使用 struts2shell 的语法如下:
------------ --- --- --- ----- --- ----- --- ----- ---
其中 URL 为 struts2 漏洞路径,命令、代理地址、代理端口、超时时间都是可选参数。示例:
------------ -- --- -- ------------------------------------------------
以上命令将在 example.com 的 struts2-showcase 应用中执行 ls / 命令。如果执行成功,将输出命令结果。
如果需要使用代理,可以使用 -x 和 -p 参数指定代理地址和代理端口。例如:
------------ -- --- -- -- ----------------- -- ---- ------------------------------------------------
如果超时时间较长,可以使用 -t 参数指定等待时长,单位为秒。例如:
------------ -- --- -- -- -- ------------------------------------------------
如果需要获取反弹的 shell,可以使用以下命令启动一个监听器:
-- ---- ----
然后在 struts2shell 中使用 -r 参数指定反弹 shell 的 IP 和端口:
------------ -- ----------- ------------------------------------------------
示例代码
以下是一个使用 struts2shell 发送 HTTP GET 请求并获取响应的示例代码:
----- ------- - ------------------- ----- ------------ - ------------------------ ----- --- - --------------------------------------------------- ----- ------- - --- ----- ------- - - ------------- ------------ -------- -- ----- ------ ---- ------------------ ------- ---- ------ -------------------- --------------- --------- ------- -- ----- ----- - --- ----- ------- - ------ ---------------- --- ---- ---- -------- ------ -------- ------------- ---- - -- ----- - ----------------- ------- - ----------------- ---
以上代码使用了 request 模块发送 HTTP 请求,并调用 struts2shell 模块执行命令。可以根据实际情况进行修改。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60055aa981e8991b448d8343