WEB渗透之跨站请求伪造(CSRF)

风险等级:中
漏洞风险:恶意攻击者可以通过跨站的方式操纵用户行为。
N-Base分类:远程攻击----服务器端跨站缺陷
漏洞描述:通过伪装来自受信任用户的请求来利用受信任的网站。
测试工具:BURP、手工
实战案例
CSRF漏洞一定程度来说是属于逻辑性漏洞,扫描器大多不靠谱,根据个人经验,AWVS主要是判断有表单的地方没有随机TOKEN,就会报一个‘’没有保护的CSRF表单‘’。APPSCAN则是修改你的REFERE头,假如修改后返回的数据还是一样,就会报CSRF漏洞。实际验证时需要根据业务的具体特点。
本次测试最常见的修改密码功能,从前端页面看要求输入原始密码,似乎不存在CSRF漏洞。
WEB渗透之跨站请求伪造(CSRF)_第1张图片
但仔细用BURP截断请求时会发现,当原始密码输完后,就会先有一个AJAX请求到服务器去验证原始密码;然后点确定时会有另一请求时修改密码的,且并不带原始密码。也就是验证原始密码和修改密码采用了异步方式。这样修改密码的CSRF漏洞就形成了。
在这里插入图片描述
解决方案
通用解决方案:
1、隐藏表单随机TOKEN
2、图形验证码
3、其它确认机制如双因素
4、验证REFERE头部
本例解决方案:
原始密码验证和修改密码采用同步方式,在一个请求中完成。

你可能感兴趣的:(WEB安全)