开篇Struts2历史漏洞系列分析文章
Posted 安恒信息安全研究院
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开篇Struts2历史漏洞系列分析文章相关的知识,希望对你有一定的参考价值。
小编注
序号 | 内容 |
1 | S2-001 利用表单错误进行远程代码执行 |
2 | S2-005 参数名过滤不严谨导致代码执行 |
3 | S2-007 当类型转换出错时,用户输入被当作OGNL执行 |
4 | S2-009 远程代码执行漏洞 |
5 | S2-012 重定向导致的OGNL表达式执行 |
6 | S2-015 ActionName 配置了通配符时导致的OGNL表达式执行 |
7 | S2-016 特殊参数名前缀导致的OGNL表达式执行 |
8 | S2-032 特殊参数名前缀 method: 导致的OGNL表达式执行 |
9 | S2-045 上传数据异常导致的OGNL表达式执行 |
10 | S2-052 REST插件远程执行命令漏洞 |
11 | S2-057 namespace可控导致的OGNL表达式执行 |
Smi1e@Pentes7eam
前言
OgnlValueStack
的初始化过程才完全理解,并且发现文章有一些地方描述的不是特别准确,比如文章说Struts 2.3.29 的 excludedClasses
中通过禁用 ognl.MemberAccess
和 ognl.DefaultMemberAccess
来修复利用 @ognl.OgnlContext@DEFAULT_MEMBER_ACCESS
进行的沙盒绕过,但其实该黑名单是不会拦截类似 @ognl.OgnlContext@DEFAULT_MEMBER_ACCESS
这种静态属性调用的,而我认为沙盒修复的关键是 Ognl3.0.18+
和 Ognl3.1.10+
中 OgnlContext
删除了 _memberAccess
这个key,从而禁止了对 _memberAccess
的访问。可以看到在使用 ognl3.0.6
的情况下我修改S2-032的配置文件后依然可以使用payload #_memberAccess=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS
进行绕过。
关于我们
人才招聘
一、高级攻防研究员
工作地点:
1.杭州/重庆/上海/北京;
岗位职责:
1.前沿攻防技术研究;
2.负责完成定向渗透测试任务;
3.负责红队工具的研发。
任职要求:
1.三年以上相关工作经验,若满足以下所有条件,则可忽略此要求;
2.熟练掌握Cobalt Strike、Empire、Metasploit等后渗透工具的使用;
3.熟练掌握工作组/域环境下的各种渗透思路、手段;
4.具有大型、复杂网络环境的渗透测试经验;
5.具有独立的漏洞挖掘、研究能力;
6.熟练至少一门开发语言,不局限于C/C++、Java、php、Python等;
7.良好的沟通能力和团队协作能力。
加分项:
1.红队工具开发经验;
2.有良好的技术笔记习惯。
联系人:姜女士
邮箱:double.jiang@dbappsecurity.com.cn
手机;15167179002,微信同号
以上是关于开篇Struts2历史漏洞系列分析文章的主要内容,如果未能解决你的问题,请参考以下文章