CSRF 跨站请求伪造
CSRF(跨站请求伪造)是一种利用用户已登录状态发起恶意请求的攻击方式。攻击者通过伪造链接诱导用户点击,可导致用户信息被修改、资金被盗等危害。文章通过B站和银行转账案例展示了CSRF攻击原理,并利用Pikachu靶场演示了CSRF GET攻击过程,包括抓包分析、构造恶意链接和自动提交表单。检测方法包括检查token和referer字段缺失情况,防御措施建议采用token验证、referer检查、自
CSRF 跨站请求伪造
Cross-site request forgery 简称为“CSRF”。在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。所以CSRF攻击也成为"one click"攻击。
CSRF危害:
- 修改用户信息
- 利用身份发送邮件、短信
- 利用身份转账
- 盗取账号
CSRF案例
案例1
1、登录B站,然后不关闭浏览器
2、访问链接:https://passport.bilibili.com/register/logout.html#/verify
案例2

1、用户登录了银行网站,并且没有关闭浏览器
2、黑客给该用户发了一个钓鱼链接,并诱导用户点击
链接内容:http://www.bank.com/transfer/?to=hacker&money=10000
3、用户在不知情的情况下,给陌生人转账10000元
CSRF漏洞攻击
环境:pikachu靶场 CSRF Get
工具:burpsuit
登录之后,修改信息并抓包

修改信息接口:

发送请求,信息已经按照修改的内容进行修改

构造链接
http://127.0.0.1/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=6666666666&add=Oklahoma+City+Thunder&email=kevin%40pikachu.com&submit=submit
在已经处于登录的浏览器中访问链接也会成功修改内容
CSRF poc生成
环境:pikachu靶场 CSRF Get
工具:burpsuit
1、在修改信息时抓包
2、在抓到的数据包中,选择 生成CSRF PoC


3、根据需求,修改包中的数据,将生成的html代码复制到html文件中
<input id="submit" type="submit" value="Submit request" hidden />
<script>
// 加一段js,让它自动执行
window.onload = function() {
document.getElementById("submit").click();
}
</script>

4、访问html,任何方式都可以
- 搭建公网服务器,生成链接
- 生成钓鱼链接
例如:在shell文件夹下开启终端并开启http服务

访问http://127.0.0.1:8000/
内容已修改

CSRF漏洞检测
1、确定网站的功能,去测试 存在修改、添加等功能的战
2、CSRF只能通过用户的正规操作进行攻击
3、抓包查看,如果没有token验证,并且不检查referer字段则大概率会出现csrf漏洞
4、构造poc去测试,如果修改信息成功,则存在csrf
CSRF漏洞防御
- 在请求地址中添加 token 验证(最有效)
- 验证 HTTP Referer 字段
- 在 HTTP 头中自定义属性并验证
漏洞
4、构造poc去测试,如果修改信息成功,则存在csrf
CSRF漏洞防御
- 在请求地址中添加 token 验证(最有效)
- 验证 HTTP Referer 字段
- 在 HTTP 头中自定义属性并验证
- 使用验证码或者密码确认方式进行
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)