从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攻击(中危)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1119762.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue基于Spring Boot的实验室预约 设备耗材申请管理系统 学生 教师应用和研究

文章目录 实验室预约与设备耗材管理系统摘要 项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 实验室预约与设备耗材管理系统摘要 该系统基于Vue.js前端框架与…

“数据不灭” 的技术底气

数据安全是企业核心诉求&#xff0c;腾讯云构建覆盖写入、存储、备份、恢复的全生命周期保护体系&#xff0c;以 99.9999999% 数据可靠性承诺护航企业资产。写入阶段采用 Paxos/Raft 强一致性协议与校验和技术&#xff0c;确保数据完整准确&#xff1b;存储层针对不同场景差异化…

2026必备!自考论文难题TOP10 AI论文平台深度测评

2026必备&#xff01;自考论文难题TOP10 AI论文平台深度测评 2026年自考论文写作工具测评&#xff1a;为何需要这份榜单&#xff1f; 随着自考人数逐年增长&#xff0c;论文写作已成为众多考生面临的“拦路虎”。无论是选题困难、文献检索繁琐&#xff0c;还是格式规范不熟悉&a…

vue基于spring boot的宠物领养救助系统 宠物用品商城管理系统x26k3505应用和研究

文章目录摘要项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要 基于Spring Boot和Vue的宠物领养救助系统与宠物用品商城管理系统&#xff08;x26k3505&…

全链路高可用架构 —— 从基建到应用的立体防护

腾讯云依托二十余年技术积累&#xff0c;构建全链路高可用体系&#xff0c;以 99.999% 服务可用性、99.9999999% 数据可靠性&#xff0c;成为企业数字化转型的坚实地基。基础设施层面&#xff0c;全球 40T3 级可用区采用 2N1 电力冗余、N2 制冷设计与多链路网络架构&#xff0…

vue基于Spring Boot的小区停车位短租管理系统的设计与实现java 沙箱支付应用和研究

文章目录摘要项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要 该系统基于Vue.js前端框架与Spring Boot后端技术&#xff0c;设计并实现了一套小区停车位短…

AtomicEOR

AtomicEOR&#xff08;Atomic Exclusive OR&#xff09;是一种原子按位异或操作&#xff0c;用于在多线程或并行计算环境中对共享内存中的数据进行原子性的按位异或运算&#xff0c;并返回操作前的旧值。该操作保证在读取、计算、写回三个步骤执行期间不会被其他线程中断&#…

医疗预测项目:CNN + XGBoost 实战全流程

一、项目背景与设计思路1. 为什么“端到端 CNN”在医疗中经常失败&#xff1f;很多教程喜欢这样做&#xff1a;CT 图像 → CNN → 预测是否患病 但在真实医疗场景中&#xff0c;问题很快会暴露&#xff1a;数据量不够&#xff08;几百 ~ 几千&#xff09;批次差异大&#xff08…

传统机器学习 vs 深度学习:什么时候该选谁?

在 AI 学习和项目实践中&#xff0c;很多人都会陷入一个反复纠结的问题&#xff1a;这个问题&#xff0c;我到底该用传统机器学习&#xff0c;还是直接上深度学习&#xff1f;有人觉得&#xff1a;传统机器学习太“老”深度学习才是未来也有人认为&#xff1a;深度学习太复杂传…

支撑亿级流量的可靠性神话

互联网业务流量潮汐式波动对云服务提出极致挑战&#xff0c;腾讯云凭借弹性架构与高并发技术&#xff0c;支撑微信、QQ 等亿级产品稳定运行&#xff0c;成为小红书、快手等企业的增长后盾。弹性层面&#xff0c;云服务器自动扩缩容、容器服务秒级启动数千容器&#xff0c;轻松应…

全网最全9个AI论文软件,专科生轻松搞定毕业论文!

全网最全9个AI论文软件&#xff0c;专科生轻松搞定毕业论文&#xff01; AI 工具如何助力论文写作&#xff0c;专科生也能轻松应对 在如今的学术环境中&#xff0c;越来越多的学生开始借助 AI 工具来提升论文写作效率。尤其是对于专科生而言&#xff0c;面对繁重的毕业论文任务…

2026年最新爆火!9款AI论文神器实测,1小时搞定文理医工所有难题!

深夜警告&#xff1a; 如果你的开题报告明天要交&#xff0c;如果你的初稿后天是死线&#xff0c;如果你的导师又发来了“最后通牒”式的修改意见——那么恭喜你&#xff0c;刷到这篇文章是你今晚最幸运的事。2026年的学术竞争已经进入白热化&#xff0c;别人用AI工具30分钟搞定…

AI Agent的自监督表示学习技术

AI Agent的自监督表示学习技术 关键词:AI Agent、自监督表示学习、深度学习、特征提取、无监督学习 摘要:本文深入探讨了AI Agent的自监督表示学习技术。首先介绍了该技术的背景,包括目的、预期读者、文档结构和相关术语。接着阐述了核心概念及其联系,通过文本示意图和Merm…

DNS解析异常排查

一、现象 全站不能访问 二、网络层排查 # 从外部网络测试连接 curl -v https://www.example.com # * Could not resolve host: www.example.com# 换一个DNS服务器试试 nslookup www.example.com 8.8.8.8 # Server: 8.8.8.8 # Address: 8.8.8.8#53 # # ** server cant find w…

企业选型前可看:10大客服的权威测评,值得关注!

在企业服务场景中&#xff0c;传统客服模式的痛点日益凸显&#xff1a;一方面&#xff0c;多渠道咨询分散在WEB、APP、社交软件等不同平台&#xff0c;客户需重复描述问题&#xff0c;却难获得连贯高效的响应&#xff0c;服务体验大打折扣&#xff1b;另一方面&#xff0c;服务…

【接口测试】6_持续集成 _代码

文章目录一、准备工作二、使用Jenkins管理-手动构建&#xff08;包含邮件配置&#xff09;三、使用Jenkins管理-自动构建一、准备工作 1、将运行无误&#xff0c;能生成测试报告的 iHRM项目代码 上传至 Gitee中。 2、要求&#xff0c;必须将 仓库设置为开源&#xff08; 必须…

【零基础学java】(IO流基础)

IO流 存储和读取数据的解决方案 I--- input O---- output可以用于读写文件中的数据 问&#xff1a;IO流是谁在读&#xff0c;谁在写&#xff0c;以谁为参照物看读写的方向呢---》程序/内存纯文本文件&#xff1a;用window自带记事本能打开并且能读懂的文件按流的方向进行划分…

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

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

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

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

当AI学会“举一反三”:基于迁移学习的高速列车轴承智能故障诊断系统全解

实验室里的完美数据模型,如何在现实复杂运行环境中保持高精度?迁移学习正为工业智能诊断带来一场静默革命。 在飞驰的京沪高铁上,列车正以350公里时速疾驰。车轴轴承如同列车的心脏,必须时刻保持健康。传统维护依靠定期检修和阈值报警,但一个令人不安的事实是:超过60%的轴…