pikachu---CSRF
CSRF
概述:

攻击条件:(缺一不可)
天时:网站开发人员没有对增删改信息的请求进行防CSFR处理,导致请求容易被伪造。
地利:攻击者将伪造链接发送给用户时,用户正好处于登录态。
人和:用户收到攻击者的伪造链接后,真的点了。
CSRF与XSS的区别:
CSFR是借助用户的权限来完成攻击,攻击者并没有拿到用户的权限。
XSS是直接盗取到了用户的权限,然后实施破坏。
如何确认Web系统存在CSFR漏洞:


CSFR(get):
打开火狐浏览器使用burpsuite代理并关闭拦截,点击本关右上角提示,输入
lucy
123456
点击登录,可以看到lucy个人信息界面:

点击修改个人信息,住址改为beijing,然后在burpsuite中的HTTP history中找到修改个人信息的数据包,截取数据头的内容:

可以看出数据是以get的方式提交的,而且没有token验证。
实际场景中,攻击者可以自己注册账号,截取自己请求修改信息的数据包并修改即可拿到伪造链接。
http://192.168.18.21/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=12345678922&add=shanghai&email=lucy%40pikachu.com&submit=submit
用户必须在登录态,并且点了攻击者发送的伪造链接才可达到攻击成功的目的。
将伪造链接在登录态时打开后,刷新用户登录态界面,发现地址成功被修改:

CSFR(post):
点击修改个人信息,住址改为beijing,然后在burpsuite中的HTTP history中找到修改个人信息的数据包,截取数据头的内容:

可以看出数据是以post的方式提交的,修改的请求在参数体中,所以无法修改url来伪造请求。
和XSS的post类似,需要布一个恶意站点并构造表单,让用户点击表单的url去向正常页面提交post请求,从而修改信息。
CSFR Token:
点击修改个人信息,住址改为baoding,然后在burpsuite中的HTTP history中找到修改个人信息的数据包,截取数据头的内容:

可以看出在数据头部分多了一个token值。
在修改信息界面,打开火狐浏览器工具---Web开发者---Firebug,查看表单信息,发现表单中隐藏了一个token:

也就是说每次修改个人信息都会访问后台的edit.php文件,此文件每次都会生成一个随机的token输出到前端表单并隐藏,当提交的时候再一并发送给后台,后台对token进行验证,可以有效防止CSRF漏洞。
防范措施:



浙公网安备 33010602011771号