WebGoat8 M17 CSRF 题解
目录
题目4 Post a review on someone else’s behalf
什么是CSRF?
CSRF,Cross-site request forgery,跨站请求伪造。
一个CSRF攻击大概是这样的:
用户在登录某个账户时(比如QQ),点击了攻击者发来的钓鱼链接,这个链接会自动发起例如改密码的请求。因为用户已经登录,请求会被误以为是用户自身的操作。(然后QQ就被盗了)
题目3 Basic Get CSRF Exercise
题目要求我们换个源点击这个提交,那么就用Burp抓个包,把referer随便改一下:
搞定。
另外一种方法,用Burp生成一个PoC
PoC大概是验证程序的意思,在这里生成CSRF PoC就是生成一段能点击这个链接的html代码。
用Burp生成PoC的方法:
点击Test in browser后会给你一个网址,在连接Burp代理的情况下打开就会出现一个有按钮的页面,点击按钮跳转页面:
题目4 Post a review on someone else’s behalf
只不过是把GET方法换成POST方法,同3。
题目7 CSRF and content-type
这题我们需要提交的数据为json类型,所以可以看到在Burp中生成的PoC和前面的有所不同,json内容被放在了一个一个input里。
另外必须要把代码保存到本地文件才能过,test in browser不能过,不知道什么原理。
题目8 Login CSRF attack
这道题模拟的是这样的情况:攻击者发给被攻击者一个链接,被攻击者点进去之后自动进行了某个网站(比如google)的登录,被攻击者在不知情的情况下用google进行搜索,搜索记录都会被攻击者看到。
按题目所说,我们只要注册一个名为[csrf-自己的用户名]的用户,然后登录点击这个任务就能过,但是我卡注册上了……不能有特殊字符……