首页 > 其他分享 >XXE漏洞

XXE漏洞

时间:2023-09-16 19:56:18浏览次数:43  
标签:XML 文件 XXE 实体 漏洞 file

来自:

[NCTF2019]Fake XML cookbook

在moectf2023中也有一道题知识点是XXE漏洞,只不过那道更明显一点。

XXE漏洞全称XML External Entity Injection 即XML外部实体注入。

XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件和代码,造成任意文件读取、命令执行、内网端口扫描、攻击内网网站、发起Dos攻击等危害。

XXE漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件。

XXE常见利用方式

与SQL相似,XXE漏洞也分为有回显和无回显

有回显,可以直接在页面中看到payload的执行结果或现象。

无回显,又称为blind xxe,可以使用外带数据(OOB)通道提取数据。即可以引用远程服务器上的XML文件读取文件。

解析xml在php库libxml,libxml>=2.9.0的版本中没有XXE漏洞。

(来自:https://blog.csdn.net/qq_52907838/article/details/118030007

 

打开就是一个登录页面,一般正常人想到的都是SQL注入,但是这里没用。也没有什么注册按钮,那常规外网渗透也渗不了。

打开源码,看到最后有个地方:

最后有个error: function(XMLHttpRequest, textStatus, errorThrown),这里就可以初见端倪,应该就是相关XML的一个XXE漏洞。

我们随便输一个账号密码,然后bp抓包:

发现最后这个位置是XML/HTML格式,这里就可以XXE外部实体注入了。

里面存在一个XML实体,我们可以构造恶意实体,尝试读取文件:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE note [
  <!ENTITY admin SYSTEM "file:///etc/passwd">
  ]>
<user><username>&admin;</username><password>111</password></user>

成功获取。

(一般我们都会用file:///etc/passwd来测试是否可以文件包含、路径穿越这些)

接着尝试读取flag,一般在根目录:

 

payload解释:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 称为 XML prolog ,用于声明XML文档的版本和编码,是可选的,必须放在文档开头。

standalone值是yes的时候表示DTD仅用于验证文档结构,从而外部实体将被禁用,但它的默认值是no,而且有些parser会直接忽略这一项。

按实体有无参分类,实体分为一般实体和参数实体,

一般实体的声明:<!ENTITY 实体名称 "实体内容">,引用一般实体的方法:&实体名称;

外部实体,用来引入外部资源。有SYSTEM和PUBLIC两个关键字,表示实体来自本地计算机还是公共计算机。

因为将file:///flag命名为admin,所以下面用&admin。

PHP引用外部实体,常见的利用协议:

file://文件绝对路径 如:file:///etc/passwd

http://url/file.txt

php://filter/read=convert.base64-encode/resource=xxx.php

标签:XML,文件,XXE,实体,漏洞,file
From: https://www.cnblogs.com/EddieMurphy-blogs/p/17707198.html

相关文章

  • 网络安全-逻辑漏洞
     免责声明:本博客内所有工具/链接请勿用于未授权的违法攻击!!用户滥用造成的一切后果自负!!使用者请务必遵守当地法律!!1、逻辑漏洞:因为代码的逻辑产生了问题所产生的漏洞,A保存提交表单-B审核-C确认,A保存提交表单-C确认。场景:验证码绕过、密码找回、支付漏洞、越权漏洞2、验证码(CAPTCH......
  • jsp 之文件包含漏洞
    一、静态包含被静态包含文件的后缀名可以是txt、png、jpg等,只要文件内容是正常的jsp内容,被包含文件就可以正常加载、编译和执行。<%@pagecontentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><metacharset="UTF-8&qu......
  • 如何使用 Harbor 和 Trivy 快速扫描镜像漏洞
    如何使用Harbor和Trivy快速扫描镜像漏洞奇妙的Linux世界 2023-09-1611:24 发表于重庆 以下文章来源于Harbor进阶实战 ,作者键客李大白Harbor进阶实战.本公众号主要分享云原生领域Harbor私有镜像仓库在实际业务场景中的一些知识。harbor企业级高可用设计、备份......
  • 通达OA前台任意用户登录漏洞复现
    目录1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境1.5、修复建议说明内容漏洞编号漏洞名称通达OA前台任意用户登录漏洞复现漏洞评级影响范围通达OA<11.5通达OA2017版本漏洞描述通达OA是一套国内常用的办公系统,此次安全更新修复......
  • 永恒之蓝漏洞的利用
    永恒之蓝漏洞的利用一、实验前准备首先关闭win7的防火墙,开启445端口,并且攻击机(kali)和靶机(win7)可以互相ping通。二、实验过程使用kali打开msfconsole,使用它先进行win7靶机的445端口扫描,检查其是否打开,然后我们搜索ms17-010模块。这里我们可以得到一些模块,其中auxili......
  • 网络安全漏洞管理规定
    一、总则第一条为落实《中华人民共和国信息安全法》《中华人民共和国数据安全法》《关键信息基础设施安全保护条例》《网络产品安全漏洞管理规定》等法律法规的要求,履行主体责任和义务,结合公司实际情况,制定本规定。第二条本规定适用范围为****公司(以下简称“公司”)生产中心和灾备......
  • DevSecOps 中的漏洞管理(下)
    建立漏洞管理程序以支持DevSecOps在讨论DevSecOps及DevOps模型中包含安全性的重要性时,建立有效的漏洞管理实践是非常重要的。这可以通过将漏洞管理设置为程序来实现。我们可以开始对IT组织进行漏洞管理评估。人们经常问的问题可能是,既然已经建立了一些补救机制,为什么还需要进行......
  • 宏景HCM SQL注入漏洞复现(CNVD-2023-08743)
    漏洞概述宏景HCM存在SQL注入漏洞,未经过身份认证的远程攻击者可利用此漏洞执行任意SQL指令,从而窃取数据库敏感信息。影响范围宏景HCM<8.2漏洞复现fofa语法:FOFA:body='<divclass="hj-hy-all-one-logo"'鹰图语法:app.name="宏景HCM"POC:(注入点是categories字段)/servlet/codes......
  • 宏景HCM 任意文件上传漏洞复现
    漏洞概述宏景HCMOfficeServer.jsp接口处存在任意文件上传漏洞,未经过身份认证的远程攻击者可利用此漏洞上传任意文件,最终可导致服务器失陷。漏洞复现鹰图指纹:app.name="宏景HCM"fofa语法:app="HJSOFT-HCM"登录页面如下:POC:POST/w_selfservice/oauthservlet/%2e./.%2e/syst......
  • API NEWS | 谷歌云中的GhostToken漏洞
    欢迎大家围观小阑精心整理的API安全最新资讯,在这里你能看到最专业、最前沿的API安全技术和产业资讯,我们提供关于全球API安全资讯与信息安全深度观察。本周,我们带来的分享如下:一篇关于谷歌云中的GhostToken漏洞的文章一篇关于Gartner对零信任的看法的文章一篇身份验证攻击威胁API安......