Segmentfault网站"赞“的Csrf

Viewed 4093

发现这个网站风格都很炫,然后,原来这网站通过别人赞可以获得15个积分。那么如果可以通过CSRF就可以刷赞,该是一个安全小问题。

原本点击赞是可通过Post发送数据,每次数据都会在Ajaxsetup里面增加一个安全校验Token sfsess

var j = h.cookie("sfsess"); if (j) { h.ajaxSetup({data: {sfsess: encodeURIComponent(j)}}) }

结果在赞的操作中,无进行校验并且Post也可以修改成Get发送请求。导致CSRF出现。

例如你点击进来的时候:CSRF 直接可以使用img构造CSRF

把get改为post对阻止CSRF没什么作用,攻击者可以触发一个form伪造post请求。 有效的做法是使用csrf token。 See also:https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet

当然是没什么作用。但是post的操作里面,参数不分get还是post过来就是一个问题了。post能防止img的最简单型的csrf加token(其实现在网站也有只是没判断),还有判断点击来源

同意!不过referrer可能涉及用户隐私,视特殊情况而用。

2 Answers

GOT,我们会修改代码,并对请求做POST校验,原本允许GET是为了方便调试API来用,现在已经没这个作用了,非常感谢你的提醒!