防止csrf攻击的疑问
CI在操作表单时会有,会在表单中加入一个name为"csrf_test_name“的隐藏验证input,同时会在一个cookie中存入与验证input相等的值,表单提交到后台的时候对二者进行对比验证。可是如果我模拟一个表单提交,比如用curl,我自行设定csrf_test_name的值,同时我还可以操作cookie,这样我不就通过了验证?
昨天刚开始接触CI,今天大致看了下CI防csrf的流程,因为水平问题,可能存在理解上的的错误。我觉得CI作为一个成熟的框架应该不会就这样进行简单处理。有没有知道的大神给我说说,或者一起来探讨下。 这个问题很好,应该是可以的,首先程序访问表单的内容,从头部拿到cookie的内容,然后在post给提交处理页面。但crsf的作用是防止跨站攻击,需要借助他人的登录状态,这个程序获取不到。 Bobby 发表于 2014-1-10 10:08 static/image/common/back.gif
这个问题很好,应该是可以的,首先程序访问表单的内容,从头部拿到cookie的内容,然后在post给提交处理页面 ...
我不用cookie拿到cookie的内容,csrf_test_name和csrf_cookie_name二者的值我都自己设定,后台只是验证这二者是不是相等,我把两者的值设置成一样不就绕过了?
应该也可以的, 理解的csrf是为了防止钓鱼网站跨站攻击,没有用户的会话状态这个能做什么?会产生什么危害? 翁彬 发表于 2014-1-10 13:08 static/image/common/back.gif
我不用cookie拿到cookie的内容,csrf_test_name和csrf_cookie_name二者的值我都自己设定,后台只是验证这 ...
应该是每次token都在变化吧
页:
[1]