S2-045 分析
来源:互联网 发布:tensorflow 关闭会话 编辑:程序博客网 时间:2024/05/29 07:14
首先看了 http://bobao.360.cn/learning/detail/3574.html 这篇文章,文章把整体的思路都分析得很清楚了,我补充一下自己的调试细节。
在处理 multipart 的时候发生了异常,进入 org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest 中的 parse方法的异常处理分支
然后就进入了 org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest.buildErrorMessage(Throwable, Object[]),从而调用了LocalizedTextUtil.findText。此时我们看 payload 已经被传入 e 变量中。
处理错误信息最终调用到了com.opensymphony.xwork2.util.LocalizedTextUtil.getDefaultMessage(String,Locale, ValueStack, Object[], String)。
继续跟进,发现其最终使用com.opensymphony.xwork2.util.OgnlTextParser.evaluate(char[],String, ParsedValueEvaluator, int)来处理错误信息,导致了ognl命令执行。
备注:
这个漏洞触发可以不需要有上传功能,但是一定要有commons-fileupload-x.x.x.jar包
参考资料:
https://cwiki.apache.org/confluence/display/WW/S2-045
http://bobao.360.cn/learning/detail/3574.html
- s2-045漏洞分析
- S2-045 分析
- s2-045分析
- 漏洞分析马后炮 s2-045漏洞分析
- S2-045漏洞之简单分析+实战
- S2-033漏洞分析
- Struts2远程命令执行漏洞 S2-045 源码分析
- Struts2 S2-052漏洞分析
- struts2 S2-045漏洞
- struts2 s2-045初探
- S2
- s2
- s2
- Apache Struts2 远程代码执行漏洞(S2-045)技术分析与防护方案
- 【重大漏洞预警】Struts2 远程代码执行漏洞 S2-045 原理初步分析
- Struts2 s2-045还未走,s2-046 就来了
- struts s2-045漏洞修复
- Struts2漏洞分析与研究之S2-005漏洞分析
- java选择排序
- adb常用命令总结
- 百万用户级游戏服务器架构设计
- Masonryjs实现瀑布流
- iOS runtime扩大UIButton点击范围
- S2-045 分析
- MyBatis动态SQL标签用法
- leetcode-14. Longest Common Prefix
- 第一篇,开始记录Android一路走来
- AudioManager
- Java数组和链表的区别
- [Codeforces291E]Tree-String Problem(hash+倍增)
- zabbix 3.2 web界面中文显示
- 技术-技术方案优化策略--异步