WEB渗透之跨站请求伪造(CSRF)
【WEB渗透之跨站请求伪造(CSRF)】风险等级:中
漏洞风险:恶意攻击者可以通过跨站的方式操纵用户行为。
N-Base分类:远程攻击----服务器端跨站缺陷
漏洞描述:通过伪装来自受信任用户的请求来利用受信任的网站。
测试工具:BURP、手工
实战案例:
CSRF漏洞一定程度来说是属于逻辑性漏洞,扫描器大多不靠谱,根据个人经验,AWVS主要是判断有表单的地方没有随机TOKEN,就会报一个‘’没有保护的CSRF表单‘’。APPSCAN则是修改你的REFERE头,假如修改后返回的数据还是一样,就会报CSRF漏洞。实际验证时需要根据业务的具体特点。
本次测试最常见的修改密码功能,从前端页面看要求输入原始密码,似乎不存在CSRF漏洞。
文章图片
但仔细用BURP截断请求时会发现,当原始密码输完后,就会先有一个AJAX请求到服务器去验证原始密码;然后点确定时会有另一请求时修改密码的,且并不带原始密码。也就是验证原始密码和修改密码采用了异步方式。这样修改密码的CSRF漏洞就形成了。
文章图片
解决方案:
通用解决方案:
1、隐藏表单随机TOKEN
2、图形验证码
3、其它确认机制如双因素
4、验证REFERE头部
本例解决方案:
原始密码验证和修改密码采用同步方式,在一个请求中完成。
推荐阅读
- 私有化轻量级持续集成部署方案--03-部署web服务(下)
- web网页模板|如此优秀的JS轮播图,写完老师都沉默了
- spring|spring boot项目启动websocket
- OC:|OC: WKWebView详解
- WKWebview|WKWebview js 调用oc 和oc调用js
- javaweb|基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
- webug3.0渗透基础第九、十关笔记
- 前端|web前端dya07--ES6高级语法的转化&render&vue与webpack&export
- WebSocket|WebSocket 语法解析
- webpack|webpack 配置参考(production)