漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2013-032632
漏洞标题:天津大学录取查询系统struts2漏洞(详细利用过程与修复方案)
相关厂商:天津大学
漏洞作者: b33
提交时间:2013-07-29 19:23
修复时间:2013-09-12 19:23
公开时间:2013-09-12 19:23
漏洞类型:成功的入侵事件
危害等级:中
自评Rank:8
漏洞状态:未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2013-07-29: 积极联系厂商并且等待厂商认领中,细节不对外公开
2013-09-12: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
天津大学录取查询系统存在struts2 s2-016漏洞,可导致学生信息及数据库内的所有信息泄露。若被非法利用,可添加录取数据进行诈骗。
详细说明:
漏洞原理:
Struts2下DefaultActionMapper中的handleSpecialParameters方法可以用action、redirect、 redirectAction对写入数据进行处理,从而改变前缀参数,这样操作的目的是方便表单中的操作。在2.3.15.1版本以前的struts2中,没有对action、redirect、 redirectAction等进行过滤处理,导致ongl表达式可以被执行。
图(0)
天津大学的录取查询系统使用了2.3.15.1之前的版本,导致出现了上述的严重安全问题。
漏洞证明:
一、经检测,以下页面存在struts2命令执行漏洞
http://121.193.130.44/zs/search.action
root 权限(见图1),可执行任意命令(见图2),可上传webshell
图(1)
图(2)
二、利用该漏洞成功上传webshell
图(3)
三、找到配置文件内的数据库信息并成功连接
图(4)
图(5)
图(6)
图(7)
四、成功写入HTML页面至该系统根目录下
http://121.193.130.44/zs/1.html
图(8)
图(9)
修复方案:
此方法可修补S2-016、S2-017漏洞
重写struts2 DefaultActionMapper的handleSpecialParameters方法,增加action、redirect、redirectAction等参数的过滤。
操作步骤:
1、新建com/website/struts2/MyDefaultActionMapper.java,代码如下:
2、复制MyDefaultActionMapper.class 到 /com/website/struts2/目录。
3、在struts.xml文件中添加如下代码:
4、重启服务器。
版权声明:转载请注明来源 b33@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝