CSRF-pikachu

CSRF(get)

输入第一个账号vince/123456

在这里插入图片描述

点击修改信息

在这里插入图片描述

我们看到了vince的原始信息

在这里插入图片描述

现在,我们对个人信息进行修改

在这里插入图片描述

使用burp抓包,可以看到,他修改个人信息的过程中,使用了这么个url地址

http://IP地址/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=123456&add=home&email=hunter%40pikachu.com&submit=submit

成功修改个人信息

在这里插入图片描述

那么,我们登录另外一个账号,kobe/123456

![在这里插入图片描述

我们可以看到kobe的原始数据

在这里插入图片描述

我们尝试将上面修改信息的url拼接到这里

在这里插入图片描述

跳转过后,成功修改了kobe的信息,我们并没有主动的进行信息的修改,只是输入了一个url地址

在这里插入图片描述

### CSRF漏洞详解 跨站请求伪造(CSRF),也被称为one-click attack或者session riding,通常缩写为XSXF, 是一种挟制用户在已认证的Web应用程序上执行非本意的操作的攻击方法[^1]。 #### Pikachu平台上的CSRF漏洞示例 在Pikachu平台上模拟CSRF攻击可以更好地理解这种安全风险。考虑一个场景,在用户的浏览器已经登录了一个合法网站A的情况下: - 用户访问了恶意站点B。 - 恶意站点B包含了指向网站A的一个链接或自动提交的HTML表单等资源加载指令。 - 当这些指令被执行时,由于用户的浏览器会自动附带之前向网站A发出请求时获得的身份验证信息(如Cookie),因此即使用户并未主动操作,也会被当作有效用户身份而成功执行某些特定功能,从而造成未授权的行为发生。 例如,在Pikachu环境中设置了一个简单的留言板应用,其中包含评论发布接口`/comment.php?content=hello`用于发表留言。如果该页面缺乏有效的CSRF防护机制,那么攻击者可以在另一个网页中嵌入如下代码片段来触发一次未经受害者同意的消息发送行为: ```html <img src="http://example.com/comment.php?content=This%20is%20a%20malicious%20message" /> ``` 当受害者的浏览器解析并尝试获取上述图片地址时实际上就相当于发起了一次POST请求给目标服务器,并且因为携带了原有的Session ID所以会被视为来自同一用户的正常交互动作之一。 #### 解决方案 为了防止此类攻击的发生,推荐采取以下措施中的至少一项作为防御手段: - **引入一次性Token校验**:每次生成新的Form表单时都附加独一无二的随机字符串作为隐藏字段传递至客户端;之后再由服务端对该令牌的存在性和匹配度进行严格审查以确认请求的真实性[^2]。 ```php <?php session_start(); ?> <!-- HTML Form --> <form action="/submit_comment" method="post"> <input type="hidden" name="csrf_token" value="<?php echo $_SESSION['csrf_token']; ?>"> ... </form> ``` - **双重Cookie模式**:除了常规的身份验证Cookies之外还额外设定专门用来存储Anti-CSRF Tokens的数据项,要求前端必须同时提供这两个凭证才能继续处理业务逻辑。 - **SameSite Cookie属性配置**:现代浏览器支持的一种新特性,允许开发者指定哪些情况下应该阻止第三方上下文中发送cookie。这可以通过将Set-Cookie头里的`samesite`参数设为Strict或Lax级别达成目的。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值