《关于PHP网站存在的XXE复现》
“XXE:全称(XML External Entity Injection),XML外部实体,也就是XML外部实体注入攻击,漏洞是在对不安全的外部实体数据进行处理时引发的安全问题。话不多说,咳咳-开整!!
Step1:登录
输入不正确的用户名和密码,提示错误。“
Step2:抓包
打开burpsuite抓取登录数据包,发送到repeater模块。
GO一下,正常的响应数据,响应码是200,内容结果为<result><code>1</code><msg>admin</msg></result>。
Step3:插入XXE
在请求信息中插入XXE实体代码
Step4:获取信息
已获取到服务器端c:\windows\win.ini文件内容。
Step5:更改
再次修改XXE实体代码,访问system.ini
实体符号
&It; | < | 小于号 |
---|---|---|
&gt; | > | 大于号 |
&amp; | & | 和号 |
&apos; | ‘ | 单引号 |
&quot; | “ | 引号 |
默认协议
LIBXML2 | PHP | JAVA | .NET |
---|---|---|---|
file | file | http | file |
http | http | https | http |
ftp | ftp | ftp | https |
php | file | ftp | |
phar | jar |
防御XXE:
1、 使用简单的数据格式(JSON),避免对敏感数据进行序列化。
2、 及时修复更新应用程序或底层操作系统使用的XML处理器和库。
3、 过滤用户提交的XML数据。
4、 使用开发语言提供的禁用外部实体的方法。
5、及时利用工具预防检测XXE漏洞。
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐