首页 > 其他分享 >day4下午

day4下午

时间:2024-07-13 14:30:43浏览次数:13  
标签:XML 文件 实体 读取 day4 下午 发包 日志

xxe漏洞

1.XXE漏洞基本介绍

XML外部实体注入(XML External Entity)简称XXE漏洞,XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。XXE漏洞触发的点往往是可以上传XML文件的位置,没有对上传的XML文件进行过滤,导致可上传恶意XML文件。

2.XML文档简单了解

跟HTML文档一样,XML文档的内容结构有一下几个部分构成:
·元素
·属性
·实体
.PCDATA 会被解析器解析的文本
.CDATA 不会被解析器解析的文本

image

3.DTD(文档类型定义)基础

DTD(文档类型定义)的作用是定义XML文档的合法构建模块。DTD可以在XML文档内声明,也可以外部引用。

1. DTD实体

DTD实体是用于定义引用普通文本或特殊字符的快捷方式的变量,可以内部声明或外部引用。
●实体又分为一般实体和参数实体
o—般实体的声明语法:引用实体的方式︰&实体名;
。参数实体只能在DTD中使用,参数实体的声明格式:引用实体的方式∶%实体名;展示如下

image
image
image

2.支持的协议

image

4.漏洞利用

1.读取普通文件

image

这里是bp抓了一个登录的包,发现是xml格式,这里没有验证是否有xxe漏洞,我们直接使用对应的payload读取了文件,但是这里如果文件里是特殊字符的话就读取不成功了。

image

2.读取包含特殊字符文件

image
image

下面这里是演示。对了这里有个不知道为什么的玄学问题,如果不在&前面加数字的话,就是读取不出来文件的内容。我真的哭死。这里提醒一下一定要注意那个文件的路径,因为第三个演示部分使用的地址有点和这里不一样。

image
image

3.读取php文件

image

演示过程。这里注意一下我们读取出来的文件经过伪协议php://filter/read=convert.base64-encode/resoure=文件路径 加密的,要用base64解密一次才行。我这里直接在bp上解密的。

image
image
image

4.无回显的XXE漏洞利用

简单来说就是你直接在bp发送请求包,只能得到基本信息,body部分什么也没有。这里我们用到的是日志检测,简单来说利用日志去显示文件的内容,先提个醒,一定要注意是从谁发到谁去。谁去开启日志服务,还有就是注意格式问题qaq。
image

1)下面是案列,是在一台机器上开启服务同时又发包

构建payload
真实环境是需要云服务器的,在这里我就直接使用虚拟机完成,无回显需要查看服务器的访问日志,当存在访问日志了,那么就可以证明是支持外部实体的,若不存在日志,则证明不支持外部实体,或者被安全设备拦截。

1.在显示文件内容的机器上输入:python3 -m http.server 80

image

2.这里是测试能不能发送的payload

image

3.bp发包

image

4.查看是否收到包。说明可以发送。感觉也可以直接ping一下对应的ip地址。

image

5.这里就是发包显示对应的文件内容了。

image
image
image
image

2)这里是我自己做的演示。我的是本机发包,然后虚拟机kali开启日志。

这里有几个注意事项要说一说。一定要注意ip和端口,然后注意格式,我朋友好像就是ip多了个空格导致一直接收不到包,然后搞清楚是谁给谁发包,也就是dtd文件内容的ip端口,还有bp请求包中的ip也一定要对。然后就是还有一个注意事项,就是dtd文件内容里面读取的文件一定要存在,不存在的话也是不会有日志内容出现。
这里我是本机查询本机的文件内容,然后将结果发送到虚拟机查看。我有个想法是本机发包到虚拟机,然后虚拟机kali解析dtd文件,然后虚拟机kali根据dtd文件查询的路径然后将kali上的文件内容读取,然后再显示到kali开始的日志服务上面,但是好像失败了。我猜测有两种可能性,第一种是
kali解析不了dtd文件,第二种是应该通过服务器去弄。因为我下面的演示利用的是phpstudy搭建的服务器下面的文件去解析dtd文件,然后再发包到kali去查看。不确定是不是。

image
image
image
image
image

标签:XML,文件,实体,读取,day4,下午,发包,日志
From: https://www.cnblogs.com/poemThesky/p/18299946

相关文章

  • 黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录 Day4
    你好,我是Qiuner.为帮助别人少走弯路和记录自己编程学习过程而写博客这是我的githubhttps://github.com/Qiuner⭐️giteehttps://gitee.com/Qiuner......
  • 蓝桥杯单片机学习总结(Day4 独立按键实现LED流水灯)
    标题一:实现独立按键输出标题二:实现按键输出的效果标题三:实验总结      如图所示,S7、S6、S5、S4是独立按键一列,需要注意的是如果你的开发板独立按键和矩阵键盘是一体的如上图需要把引脚盖接到独立键盘那儿。    P30~P33是矩阵键盘和独立按键的引脚在编......
  • Day4|24. 两两交换链表中的节点 & 19.删除链表的倒数第N个节点 & 面试题 02.07. 链表
    24.两两交换链表中的节点给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。输入:head=[1,2,3,4]输出:[2,1,4,3]这题很简单就不写思路了publicListNodeswapPairs(ListNodehead){L......
  • Day43 |
    股票问题是一个动态规划的系列问题,前两题并不难,第三题有难度。121.买卖股票的最佳时机(只能买卖一次)视频讲解:https://www.bilibili.com/video/BV1Xe4y1u77qhttps://programmercarl.com/0121.买卖股票的最佳时机.html给定一个数组prices,它的第i个元素prices[i]表示一支......
  • day4-linked list-part02-7.6
    taskfortoday1.24.两两交换链表中的节点2.19.删除链表的倒数第N个节点3.面试题02.07.链表相交4.142.环形链表II-------------------------------------------------------------------1.24.两两交换链表中的节点Inthispractice,payattentionto......
  • 大数据之路 读书笔记 Day4 数据同步
    回顾:Day3总结了无限客户端的日志采集大数据之路读书笔记Day3Day2总结了浏览器端的日志采集大数据之路读书笔记Day2数据同步阿里数据体系中的数据同步,主要指的是在不同的数据存储系统之间进行数据的传输与更新,以保证数据的一致性和实时性。这个过程通常涉及......
  • TMS320F28377D学习日志:day4基于ePWM的呼吸灯
    文章目录前言一、TMS320F28377D的ePWM介绍1.1PWM的复用引脚1.2PWM模块的组成1.3TB模块1.4CC模块1.5AQ模块二、程序介绍前言28377D具有24路PWM输出引脚,14路高分辨率的HRPWM。ePWM是对PWM的加强型。其中一个ePWM通道有2个PWM输出引脚EPWMxA、EPWMxB,可以用于配置......
  • 代码训练营 DAY4打卡
      本文由GarfieldTheOldCat原创,转载请标明dekkyandlappy-CSDN博客今天学习了链表的第二课时,链表基础内容在代码训练营DAY3打卡 本文由GarfieldTheOldCat原创,转载请标明两两交换链表中的节点这道题目的第一个难点在于对题目意思的理解,什么是两两交换?举个例子:【A,B,C,D】......
  • Java进阶学习|Day4.Java多线程,线程池
    文章目录了解多线程CPU进程(Process)线程多线程开发多线程优点实现方式继承Thread类实现Runnable接口实现Callable接口线程状态转换线程状态线程调度调整线程优先级线程睡眠线程等待线程让步线程加入线程唤醒线程同步线程同步方式多线程间通信线程池了解线程池定义......
  • verilog写12 小时时钟(带上午/下午指示器)计数器(HDLbits Count clock)
    Createasetofcounterssuitableforuseasa12-hourclock(witham/pmindicator).Yourcountersareclockedbyafast-running clk,withapulseon ena wheneveryourclockshouldincrement(i.e.,oncepersecond).reset resetstheclockto12:00AM.......