XXE的危害类似SSRF
XXE = XML外部实体注入 (被各种后端脚本调用)
XML => (像html 传输数据 预定义)
预定义:(预先定义好的东西)
- var_dump() 查看数据类型
- eval() 可以命令执行
- echo 可以输出
前端代码:
<b></b> 加粗
<h1></h1> 大标题
XML:
<b></b>、<h1></h1> 名字而已
<?xml version="1.0"?>
DTD部分(通过特殊的命令去其他文件读取信息)
SYSTEM
XML部分
引用(1.txt) 包含(include)处理代码冗余
危害:
XXE 可以通过dtd去读取、访问其他文件或者网站
simplexml_load_string()
simplexml_load_file()
XSS平台:用户打XSS到目标站点 => 有人访问后把数据传到平台 => 记录下来
XML:请求一个你自己搭建的php文件,其他的文件。php文件记录请求的传参内容(记录文件)
如何找XXE漏洞?
- 看到数据包莫名其妙传递、返回了XML代码,就可以试试
- 代码审计(主流方法)(简单的¿但是很繁琐)
代码审计:
- 静态审计(纯看)
- 动态审计(网站运行起来,然后通过一些特殊手段去追踪具体的代码流程)
- 小技巧:依靠静态看代码,然后不用动态调试软件,直接修改源码进行动态
静态审计:
- 全文通读(看完一个直接起飞)
- 危险函数定位 (eval()、mysqli_query())
总结:
- XXE => XML外部实体注入(目标执行了我们提交的XML代码)
- XXE代码层(套用)
- 危害 => SSRF差不多
- 回显问题 => 两步走方法外带出来
- 如何找这个漏洞(代码审计)
- 代码审计(动态、静态【全文、危险函数】)
- seay代码审计工具(全文搜索、定位函数)