《关于PHP网站存在的XXE复现》 – 作者:凯信特安全团队

“XXE:全称(XML External Entity Injection),XML外部实体,也就是XML外部实体注入攻击,漏洞是在对不安全的外部实体数据进行处理时引发的安全问题。话不多说,咳咳-开整!!

 

Step1:登录

输入不正确的用户名和密码,提示错误。“

图片.png 

Step2:抓包

打开burpsuite抓取登录数据包,发送到repeater模块。

 图片.png

GO一下,正常的响应数据,响应码是200,内容结果为<result><code>1</code><msg>admin</msg></result>。

 图片.png

Step3:插入XXE

在请求信息中插入XXE实体代码

图片.png

Step4:获取信息

已获取到服务器端c:\windows\win.ini文件内容。

 图片.png

Step5:更改

再次修改XXE实体代码,访问system.ini

图片.png

实体符号

&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.com 2019-07-20 15:55:07 by: 凯信特安全团队

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论