pikachu靶场-->CSRF漏洞详解
目录
漏洞介绍及原理
CSRF(跨站请求伪造)CSRF是攻击者通过伪造用户浏览器的请求,欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去执行。
漏洞危害
未经授权的操作
用户隐私泄露
数据篡改
恶意操作
漏洞检测
一般在用户密码修改、信息修改、添加账户、发布文章等一些敏感操作位置,如果没有进行二次校验或者没有使用安全的token验证,就容易导致请求被伪造
打靶
CSRF(get)
访问pikachu靶场,点击提示,这里以Kobe用户进行登录,并修改个人信息

修改个人信息后,点击submit时,使用BurpSuite抓包

将抓到的包右键-->Engagement tools-->Generate CSRF PoC
点击copy HTML 
在桌面新建一个文件夹,再新建一个文本文档,将代码复制进去,并修改后缀名为 .html

使用python3启动一个web服务,为了能让用户访问到这个恶意的html文件
python3 -m http.server

使用另一个浏览器登录pikachu,并用Vince用户进行登录

此时,用登录Vince这个用户的浏览器访问刚刚使用python搭建的web服务


点击按钮,发现vince用户信息被修改

CSRF(post)
访问pikachu靶场,点击提示,这里以allen用户进行登录,并修改个人信息


修改个人信息后,点击submit时,使用BurpSuite抓包
将抓到的包右键-->Engagement tools-->Generate CSRF PoC
点击copy HTML

在桌面新建一个文件夹,再新建一个文本文档,将代码复制进去,并修改后缀名为 .html

使用python3启动一个web服务,为了能让用户访问到这个恶意的html文件
python3 -m http.server

使用另一个浏览器登录pikachu,并用kobe用户进行登录


此时,用登录kobe这个用户的浏览器访问刚刚使用python搭建的web服务

点击按钮,发现kobe用户信息被修改

防御措施
添加token认证
验证referer来源
添加二次校验