WEB安全之CSRF
2016-08-05 13:01
513 查看
正文 第一节 初识CSRF 1.1、什么是CSRF CSRF(Cross-site request forgery跨站请求伪造,也被称为"One Click Attack"或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比更具危险性 通俗的讲:攻击者盗用了你的身份,以你的名义进行一些非法操作,CSRF可以让你的账号发送邮件等操作,从而获取你的相关信息 |
一个图解释了一切
例子:当你登录了i春秋的网站,正在进行转账泉币的业务,这时,攻击者像你发了一个url,然而,这个url是攻击者精心构造的转账业务代码,而且是同一个网站,你可能认为是安全的,然后点击了它,but,你的泉币可能不翼而飞 (PS:咱i春秋木有转账功能)
第二节检测CSRF漏洞
检测它的方法有多种,笔者经常用的是全自动的检测方法和半自动的,当然也有手工的
1.1、全自动化检测
CSRF-Scanner ,这块工具,缺点真心大,就是误报率太高了,几条中半天挑不出一条,so,小编就不详细的介绍它了
1.2、半自动化检测
CSRFTester
下载地址:https://www.owasp.org/index.php/File:CSRFTester-1.0.zip
1.安装CSRFTester
对,没错,下载下来,打开run.bat就可以打开它了(PS:需要java的环境)
看到这个,你也许会纳闷啥意思,他表示CSRFTester已经在监听8008端口了,你要使用它,必须要将浏览器的端口设置为8008
2. 设置浏览器代理(360浏览器为例)
3. 用户登录
单击“Start Recording”,开启CSRFTester的检测工作,这样以后我们所有访问的URL以及参数都会被记录下来。
4. 通过CSRFTester抓取和伪造请求
当你登录一个网站账号时,CSRF Tester会进行抓取
我们抓取了该请求,在Step属性中添加请求,然后将Form Parameter中的eatName改成CSRFTest,然后单击Generate HTML按钮来产生CSRF攻击脚本。
5. 分析CSRF攻击脚本
[AppleScript] 纯文本查看 复制代码
?
当然,你也可以使用burp中的scanner进行检测………
在任意http请求中,右键,选择Engagement tools –Generate CSRF POC 即可生成CSRFPOC
第三节 实战案例及修复方案
目标:***.***.edu.com
注册账户,发现修改用户名处无验证,直接改密码
Burp抓包,生成CSRF
POC
我们可以修改代码中的数据
当前用户密码151515
我们将他修改成123456
提交………..
之后可以看到……修改成功……
修复方案:
1. 二次确认(如弹窗提示)
2. Token认证
相关链接:http://bbs.ichunqiu.com/thread-9236-1-1.html?from=csdnJG
相关文章推荐
- MYSQL
- 2020 绝对值排序
- CF 690C3. Brain Network (hard) from Helvetic Coding Contest 2016 online mirror (teams, unrated)
- DFS_4
- redis单主机多实例
- Java.Web学习笔记 Spring4
- 【排序】插入排序,希尔排序,选择排序,冒泡排序,堆排序详解及稳定性分析
- Mishka and trip(CF 703B)
- Codeforces Round #365 (Div. 2) 703B Mishka and trip 水题
- Linux Redis安装部署
- ruby升级
- 数学公式 —— 向量
- 开个博客瞧一瞧
- 【OpenCV】VS2015与OpenCV2.4.11配置
- selenium2.0报错:stale element reference: element is not attached to the page document的解决办法
- #107 Word Break
- struts2 中 Session的使用简介
- <实训|第十二天>用LVM对linux分区进行动态扩容
- angularjsFileUpload+Springmvc上传文件
- Oracle(入门四)