1.概述

在CSRF的攻击场景中,攻击者会欺骗受害者在登录某一网站的前提下点击某一个链接,从而获取受害者的信息

2.CSRF(get)

看名字是get型的CSRF漏洞,需要留意一下url

先点击提示,登陆界面,然后获得了个人信息

image-20231202110139981

我们修改一下个人信息,提交之后发现网址没有一点变化

image-20231202110352693

不是说是get型的吗,按道理应该会在url上显示出来的呀,别急,稍安勿躁,在这里看不到,可以试试burp suite

点击修改信息,对submit这一瞬间进行抓包

image-20231202110828482

看到了含有敏感信息的url,这时进行一个致命的操作——在url上修改用户信息

将sex改成:girl,然后将修改后的url发送给受害者,欺骗他访问

受害者一旦点击攻击者发送的链接,则他的信息就会被修改

如下:

image-20231202111251636

3.CSRF(post)

post的用户信息存在于请求体中,只需要在请求体中修改再刷新页面即可。

但此时我们要做的就是给用户发送一个链接,使其信息发生改变,所以我们要做的就是写一个利用该漏洞的HTML文件,然后再发送给用户请求这个HTML文件的链接。

似乎有些麻烦,不过bp能够帮你:

同样,抓包后右键进行如下操作

image-20231202145802550

复制获得的链接发送给用户,用户一旦点击,则他的信息就会被修改,攻击者就攻击成功

4.CSRF Token

  • 先了解一下,什么是token:

每次请求,都增加一个随机码,后台每次对这个随机码验证,这个验证码就是token

试了一下,在获得token的情况下可以修改用户的信息,但是作为一个攻击者,我们无法提前获得用户的token

把pikashu的php文件挖出来,可以看到它所设置的token的作用,在这里的token是随机生成的

image-20231202152628027

所以在此处,token的作用就是起到防御攻击者的作用