WebGoat8 M17 CSRF 题解

目录

 

什么是CSRF?

题目3 Basic Get CSRF Exercise

题目4 Post a review on someone else’s behalf

题目7 CSRF and content-type

题目8 Login CSRF attack


什么是CSRF?

CSRF,Cross-site request forgery,跨站请求伪造。

一个CSRF攻击大概是这样的:

用户在登录某个账户时(比如QQ),点击了攻击者发来的钓鱼链接,这个链接会自动发起例如改密码的请求。因为用户已经登录,请求会被误以为是用户自身的操作。(然后QQ就被盗了)

 

题目3 Basic Get CSRF Exercise

题目要求我们换个源点击这个提交,那么就用Burp抓个包,把referer随便改一下:

WebGoat8 M17 CSRF 题解 搞定。

 

另外一种方法,用Burp生成一个PoC

PoC大概是验证程序的意思,在这里生成CSRF PoC就是生成一段能点击这个链接的html代码。

用Burp生成PoC的方法:

WebGoat8 M17 CSRF 题解

WebGoat8 M17 CSRF 题解 

点击Test in browser后会给你一个网址,在连接Burp代理的情况下打开就会出现一个有按钮的页面,点击按钮跳转页面: 

WebGoat8 M17 CSRF 题解

题目4 Post a review on someone else’s behalf

 

只不过是把GET方法换成POST方法,同3。

 

题目7 CSRF and content-type

这题我们需要提交的数据为json类型,所以可以看到在Burp中生成的PoC和前面的有所不同,json内容被放在了一个一个input里。

WebGoat8 M17 CSRF 题解

另外必须要把代码保存到本地文件才能过,test in browser不能过,不知道什么原理。

 

题目8 Login CSRF attack

这道题模拟的是这样的情况:攻击者发给被攻击者一个链接,被攻击者点进去之后自动进行了某个网站(比如google)的登录,被攻击者在不知情的情况下用google进行搜索,搜索记录都会被攻击者看到。

按题目所说,我们只要注册一个名为[csrf-自己的用户名]的用户,然后登录点击这个任务就能过,但是我卡注册上了……不能有特殊字符……