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漏洞。

防范措施:

posted @ 2020-03-20 21:22  强霸卓奇霸  阅读(225)  评论(0)    收藏  举报
https://blog-static.cnblogs.com/files/xiaokang01/js.js 这是添加的文件的链接 color="240,230,140" 粒子的颜色设置 opacity="1" 粒子的透明度 count="75" 粒子的个数