news 2026/2/6 19:44:24

从HTML注入到CSRF:一次漏洞组合拳实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从HTML注入到CSRF:一次漏洞组合拳实战

前言

免责声明:本文仅供安全学习研究,所有测试均在授权环境或自建靶场中进行。严禁用于非法用途,否则后果自负。

HTML注入 + CSRF登出漏洞实战复现

漏洞概述

在某社区平台的评论功能中发现存储型HTML注入漏洞。虽然前端做了输入过滤,且存在WAF防护,但通过逆向前端加密逻辑并构造特殊payload,成功绕过所有防护,注入恶意<a>标签。结合平台存在的GET方式登出接口,实现了点击即登出的CSRF攻击。

先在前端进行注入,发现有waf。

WAF规则存在以下缺陷:

  1. 标签名和<之间有空格可绕过
  2. 属性名大小写敏感
  3. 只检测小写href

构造绕过payload:

<!-- 原始payload --><ahref="http://***.com">点击</a><!-- 绕过payload -->< a HREF="http://***.com">点击</a>

但经过浏览器解析,< a不会被识别为标签。此时已经不想手动继续尝试了,准备写脚本看看到底哪些操作能绕过waf。

通过逐步测试,发现WAF检测规则:

测试内容结果
<a>拦截
<A>拦截
< a>通过
<a >通过
href=拦截
HREF=通过
javascript:拦截
http://通过

写脚本过程:

对发表评论进行抓包,当我想模拟请求的时候发现请求体被加密了,这个时候就需要拿出我的逆向功底了

全局搜索sign,打断点发包。

帮助网安学习,全套资料S信领取:
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

关键加密点:

const encrypted = encryptData(content); const sign = generateSign(encrypted, timestamp);

content就是我们的评论内容,encrypted就是对我们的评论进行了加密,而sign签名则是将加密后的评论内容加上时间戳进行了二次加密。

进入encryptData函数,清晰明了的看到是AES加密,直接套库复现就行。

而签名函数则是md5加盐。

拿加密之后的值去模拟发包,发现error报错了

原来是没登录

携带登录的参数去测试发现换行符可以绕过WAF且浏览器正常解析! 最终绕过payload

# 使用换行符绕过(注意:前端输入框无法输入换行符,必须通过脚本发包)payload='<a\nHREF="/api/logout">点击领取优惠</a>'

脚本发送成功且没有被waf拦截,评论发布后刷新页面,恶意标签被浏览器解析渲染,显示为可点击的超链接,HTML注入成功!

点击之后直接重定向到了登出链接

往回跳一页,一刷新,这个时候就已经登出了,假如用户A正在写文章,同时浏览其他帖子时误点了恶意链接,触发登出。等他切回写作页面点击发布时,才发现session已失效,未保存的内容全部丢失。

用户点击后直接登出,实现CSRF攻击。虽然危害不算特别大,但足以证明漏洞的存在。

关键点

前端输入框里按回车是提交表单,没法输入真正的换行符\n。所以必须:

  1. 先逆向前端加密逻辑
  2. 用Python脚本构造包含换行符的payload
  3. 自己加密、签名后直接发包

这就是为什么前端过滤 + WAF 都挡不住——攻击者根本不走前端,直接构造请求绕过所有客户端校验。最重要的就是敏感操作(登出、删除、修改)不应使用GET方式,否则容易被CSRF利用。

当时首次提交的时候,是重定向挂马攻击被打回了,第二次结合了敏感操作也是收录了中危一枚。

总结

单个漏洞可能危害有限,但组合起来可能产生更大影响:

  • HTML注入(低危)+ GET登出(低危)= CSRF攻击(中危)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/6 9:42:26

1024编程——让我们的孩子对话未来

编程到底学什么&#xff1f; 其实&#xff0c;编程思维是“理解问题——找出路径”的高效思维过程&#xff0c;它由分解、模式识别、抽象、算法四个步骤组成。编程能够培养孩子的自律性&#xff0c;需要制定规则并培养孩子形成遵守规则的意识。每一门编程语言都有自己的规则&am…

作者头像 李华
网站建设 2026/2/6 9:51:31

五大主流CRM品牌核心能力横向对比:从闭环到协同的全维度拆解

在企业数字化转型中&#xff0c;CRM已从“销售工具”升级为“全链路协同平台”。本文选取超兔一体云、Oracle CX、Capsule CRM、智赢云CRM、橙子CRM五大主流品牌&#xff0c;围绕线索到回款闭环、后端供应链管理、协同工具对接三大核心场景&#xff0c;结合流程、数据、易用性多…

作者头像 李华
网站建设 2026/2/6 9:53:51

华为ensp:VRF

目录 一、核心概念与作用 二、工作原理 三、拓扑及配置 总结 VRF&#xff08;Virtual Routing and Forwarding&#xff0c;虚拟路由转发&#xff09;是网络虚拟化核心技术&#xff0c;能在一台物理路由器 / 三层交换机上创建多个逻辑隔离的路由实例&#xff0c;每个实例拥有…

作者头像 李华
网站建设 2026/2/5 18:27:43

易语言开发者的职业跃迁与生态共建

易语言开发者的职业跃迁与生态共建 &#x1f680; 1.20.1 学习目标 &#x1f3af; 作为《易语言开发从入门到精通》的收官核心章&#xff0c;本章将整合前19章的所有技术栈与商业逻辑&#xff0c;为易语言开发者打造一套可落地、可复制、可长期成长的职业发展体系&#xff0c;你…

作者头像 李华
网站建设 2026/2/5 13:28:58

架构师视角:网络安全体系深度解析——核心模型、数据标准与落地实践

网络安全体系概述 4.1.1 网络安全体系概述 一般面言&#xff0c;网络安全体系是网络安全保障系统的最高层概念抽象&#xff0c;是由各种网络安全单元按照一定的规则组成的&#xff0c;共同实现网络安全的目标。网络安全体系包括法律法规政策文件、安全策略、组织管理、技术措…

作者头像 李华
网站建设 2026/2/5 23:47:04

网络安全核心技术全景:构建稳固防御的五大支柱与前沿趋势

网络安全技术虽然非常复杂&#xff0c;但是归纳起来&#xff0c;主要就是为了解决以下三方面问题&#xff1a; 1.数据的机密性&#xff1a;即如何令人们发送数据&#xff0c;即使被其他无关人员截取&#xff0c;他们也无法获知数据的含义。 2.数据的有效性&#xff1a;指数据不…

作者头像 李华