论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
安全
›
网络安全
›
day4下午-XXE漏洞
day4下午-XXE漏洞
海哥
金牌会员
|
2024-9-4 08:00:57
|
显示全部楼层
|
阅读模式
楼主
主题
881
|
帖子
881
|
积分
2643
xxe漏洞
1.XXE漏洞根本先容
XML外部实体注入(XML External Entity)简称XXE漏洞,XML用于标记电子文件使其具有布局性的标记语言,可以用来标记数据、界说数据范例,是一种答应用户对自己的标记语言进行界说的源语言。当答应引用外部实体时,通过构造恶意内容,可导致读取恣意文件、实行系统下令、探测内网端口、攻击内网网站等危害。XXE漏洞触发的点每每是可以上传XML文件的位置,没有对上传的XML文件进行过滤,导致可上传恶意XML文件。
2.XML文档简单相识
跟HTML文档一样,XML文档的内容布局有一下几个部门构成:
·元素
·属性
·实体
.PCDATA 会被解析器解析的文本
.CDATA 不会被解析器解析的文本
3.DTD(文档范例界说)底子
DTD(文档范例界说)的作用是界说XML文档的合法构建模块。DTD可以在XML文档内声明,也可以外部引用。
1. DTD实体
DTD实体是用于界说引用普通文本或特别字符的快捷方式的变量,可以内部声明或外部引用。
●实体又分为一般实体和参数实体
o—般实体的声明语法:<!ENTITY 实体名 "实体内容">引用实体的方式︰&实体名;
。参数实体只能在DTD中使用,参数实体的声明格式:<!ENTITY % 实体名 "实体内容">引用实体的方式∶%实体名;展示如下
2.支持的协议
4.漏洞使用
xxe练习文件地点:https://github.com/poemThesky/poemThesky.github.io/blob/a8f882ea7f4b056142d9eb63a3714d6f954a461a/%E8%AF%BE%E4%BB%B6%E7%9B%B8%E5%85%B3%E4%BE%8B%E9%A2%98/php_xxe%E7%BB%83%E4%B9%A0.zip
1.读取普通文件
这里是bp抓了一个登录的包,发现是xml格式,这里没有验证是否有xxe漏洞,我们直接使用对应的payload读取了文件,但是这里假如文件里是特别字符的话就读取不乐成了。
2.读取包含特别字符文件
下面这里是演示。对了这里有个不知道为什么的玄学题目,假如不在&前面加数字的话,就是读取不出来文件的内容。我真的哭死。这里提醒一下一定要留意那个文件的路径,因为第三个演示部门使用的地点有点和这里不一样。
3.读取php文件
演示过程。这里留意一下我们读取出来的文件经过伪协议php://filter/read=convert.base64-encode/resoure=文件路径 加密的,要用base64解密一次才行。我这里直接在bp上解密的。
4.无回显的XXE漏洞使用
简单来说就是你直接在bp发送哀求包,只能得到根本信息,body部门什么也没有。这里我们用到的是日记检测,简单来说使用日记去显示文件的内容,先提个醒,一定要留意是从谁发到谁去。谁去开启日记服务,还有就是留意格式题目qaq。
1)下面是案列,是在一台机器上开启服务同时又发包
构建payload
真实情况是需要云服务器的,在这里我就直接使用假造机完成,无回显需要查看服务器的访问日记,当存在访问日记了,那么就可以证明是支持外部实体的,若不存在日记,则证明不支持外部实体,或者被安全设备拦截。
1.在显示文件内容的机器上输入:python3 -m http.server 80
2.这里是测试能不能发送的payload
3.bp发包
4.查看是否收到包。说明可以发送。感觉也可以直接ping一下对应的ip地点。
5.这里就是发包显示对应的文件内容了。
2)这里是我自己做的演示。我的是本机发包,然后假造机kali开启日记。
这里有几个留意事项要说一说。一定要留意ip和端口,然后留意格式,我朋友好像就是ip多了个空格导致一直接收不到包,然后搞清晰是谁给谁发包,也就是dtd文件内容的ip端口,还有bp哀求包中的ip也一定要对。然后就是还有一个留意事项,就是dtd文件内容内里读取的文件一定要存在,不存在的话也是不会有日记内容出现。
这里我是本机查询本机的文件内容,然后将结果发送到假造机查看。我有个想法是本机发包到假造机,然后假造机kali解析dtd文件,然后假造机kali根据dtd文件查询的路径然后将kali上的文件内容读取,然后再显示到kali开始的日记服务上面,但是好像失败了。我猜测有两种可能性,第一种是
kali解析不了dtd文件,第二种是应该通过服务器去弄。因为我下面的演示使用的是phpstudy搭建的服务器下面的文件去解析dtd文件,然后再发包到kali去查看。不确定是不是。好像是因为开启的路径有题目。假如在kali下解析dtd的话,要留意dtd文件放的位置。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
海哥
金牌会员
这个人很懒什么都没写!
楼主热帖
makefile简单脚本编写和Linux调试器gdb ...
【第90题】JAVA高级技术-网络编程9(简 ...
CMOS图像传感器——黑电平校正 ...
什么是精准卫星授时?什么是NTP网络时 ...
姚凯大学生创业导论课后答案2022 ...
如何使用 FlowUs 、Notion 等笔记软件 ...
Linux【实操篇】—— 日志管理 ...
TCP 时间戳妙用
gRPC入门
C++ 深度解析教程(十七)C 语言异常处 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表