CSRF简单判断方法
2017-10-21 09:41
218 查看
跨站请求伪造(Cross-Site Request Forgery,CSRF)是一种使已登录用户在不知情的情况下执行某种动作的***。因为***者看不到伪造请求的响应结果,所以CSRF***主要用来执行动作,而非窃取用户数据。当受害者是一个普通用户时,CSRF可以实现在其不知情的情况下转移用户资金、发送邮件等操作;但是如果受害者是一个具有管理员权限的用户时CSRF则可能威胁到整个Web系统的安全。
1、GET类型的CSRF的检测
如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,即存在CSRF漏洞。
2、POST类型的CSRF的检测
如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,再去掉referer参数的内容,如果仍然可以,说明存在CSRF漏洞,可以利用构造外部form表单的形式,实现***。如果直接去掉referer参数请求失败,这种还可以继续验证对referer的判断是否严格,是否可以绕过。
3、特殊情况的POST类型的CSRF检测
如果上述post方式对referer验证的特别严格,有的时候由于程序员对请求类型判断不是很严格,可以导致post请求改写为get请求,从而CSRF。直接以get请求的方式进行访问,如果请求成功,即可以此种方式绕过对referer的检测,从而CSRF。
1、GET类型的CSRF的检测
如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,即存在CSRF漏洞。
2、POST类型的CSRF的检测
如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,再去掉referer参数的内容,如果仍然可以,说明存在CSRF漏洞,可以利用构造外部form表单的形式,实现***。如果直接去掉referer参数请求失败,这种还可以继续验证对referer的判断是否严格,是否可以绕过。
3、特殊情况的POST类型的CSRF检测
如果上述post方式对referer验证的特别严格,有的时候由于程序员对请求类型判断不是很严格,可以导致post请求改写为get请求,从而CSRF。直接以get请求的方式进行访问,如果请求成功,即可以此种方式绕过对referer的检测,从而CSRF。
相关文章推荐
- php简单判断文本编码的方法
- c/c++ 使用boost库实现的一个简单判断字符串编码的方法
- js判断是否是IE的简单方法
- 基于发起源判断CSRF攻击的方法
- javaScript 判断字符串是否为数字的简单方法
- 判断Windows系统是否为64位最简单的方法
- 用最简单的方法判断一个LONG整形的数A是2^n
- 一次解决存储型xss和csrf漏洞的简单方法
- JS简单判断滚动条的滚动方向实现方法
- 判断mc是否播放完成的简单方法
- Android判断屏幕是横屏或是竖屏的简单实现方法
- js 判断附件后缀的简单实现方法
- 最简单的判断自己体质方法 (转)
- php简单判断文本编码的方法
- 用最简单的方法判断JavaScript中this的指向
- 判断perl里两个简单hash是否相等的方法
- 简单的利用JS来判断页面是在手机端还是在PC端打开的方法
- C# 判断32位还是64位系统的一个简单方法(当然目标平台不能是x86)
- 素数判断的三种方法以及简单实现!
- [Android]简单判断modem是否work的方法