小迪web自用笔记59

Xxe,xml

Xxe与ssrf类似(服务器错误引用外部资源),不过那个是因为没过滤本地。

*Xml是传输存储数据的,你要在里面取出数据的话,后端就会解析这个语言,如果XML中有恶意代码被解析就会造成攻击。

里面存储了一些件名文件名之类的信息,类似于json

弄一个恶意xml外部引用,让text变量读取这个文件路径,然后回显就是这样。

如何看能不能这样测试,黑盒观察XML的特征,看看数据格式。

或者是看数据类型后面写了东西没。

或者是bp关键字搜索

Xml像json那样传输数据(就是JSON格式传递。)

如果对方有解析,解析里面有读取XML的内容,并解析了外部实体,就形成了xxe

↑从别的网站引用dtd资源,而dtd资源中又有恶意函数。

回显

传这两个文件:

总结

带外:访问DNSblog(无回显,判断有无执行。

外部引用实体:不用学习xml本身代码,可以攻击成功,dtd加载库文件,类似于包含文件。(有回显

把核心代码放到dtd,后面做访问加载。

(所以可以两个一起用)

有回显代码。

也可以不写dtd全写xml。

无回显读文件:

为什么这个例子一改就可以改对,因为他有xml处理。

例子:白盒

搜索关键词

XmL功能↑

由于这个变量调用了,所以找一下文件路径并访问。

过程总结

xxe一般只能文件读取,命令执行一般是别的插件的问题。

XXe读取PHP时,PHP内容不能带空格,不然后面拼接会出问题。

可以用伪协议,Base64

不是说必须要文件包含吗?

你这个问题的核心在于对"文件包含"和"伪协议利用场景"的混淆,我们可以拆开来看:

  1. 伪协议不是只能在文件包含中使用

php://filter 这类伪协议本质上是 PHP 提供的数据流封装器,它的作用是:

  • 将文件内容作为数据流处理

  • 支持通过过滤器(如 convert.base64-encode )对数据编码/解码

  • 可以访问服务器本地文件系统

它的使用场景不局限于 文件包含漏洞(如 include($_GET['file']) ),还包括:

  • XML 外部实体注入(XXE):通过 XML 解析器加载外部实体时触发

  • 任意文件读取漏洞:通过其他函数(如 file_get_contents() )触发

  • SSRF 漏洞:通过构造伪协议地址让服务器主动请求

  1. 文件包含漏洞的本质

文件包含漏洞的核心是:

  • 服务器端脚本(如 PHP)主动执行了一个包含文件的操作

  • 攻击者可以控制被包含的文件路径

在这种场景下,伪协议的作用是:

  • 绕过过滤(如 ../ 被过滤时用 php://filter 读取文件)

  • 直接读取文件内容(如 php://filter/read=convert.base64-encode/resource=xxx )

  1. XXE 漏洞的本质

XXE 漏洞的核心是:

  • XML 解析器 允许加载外部实体

  • 攻击者可以通过构造恶意 XML 让解析器加载指定的 URI

在这种场景下,伪协议的作用是:

  • 让 XML 解析器通过伪协议 读取服务器本地文件

  • 结合编码过滤器(如 convert.base64-encode )避免 XML 解析器因内容格式报错

  1. 总结

漏洞类型 触发条件 伪协议作用

文件包含 脚本主动包含文件 绕过过滤、读取文件

XXE XML 解析器加载外部实体 读取服务器本地文件

结论:

  • 伪协议的使用 不一定要依赖文件包含漏洞

  • 只要存在可以触发对伪协议访问的机制(如 XXE、SSRF 等),就可以利用伪协议

总结就是伪协议是个功能,他需要代码中可以执行这个功能的条件。这个条件就是支持读取。

本质

用伪协议读文件,用btb把内容写出来。

相关推荐
王景程10 天前
如何搭建IoT机器视觉
adb·android studio·web app·lavarel
逻极15 天前
Spec-Kit 实战指南:从零到一构建“照片拖拽相册”Web App
人工智能·ai·agent·ai编程·web app
weixin_3077791316 天前
AWS Elastic Beanstalk 实现 Java 应用高可用部署指南
java·开发语言·云计算·aws·web app
weixin_3077791317 天前
用Python和FastAPI构建一个完整的企业级AI Agent微服务脚手架
python·fastapi·web app
星光一影17 天前
打车/网约车、代驾、顺风车/拼车、货运、租车等多种出行服务的一站式解决方案
mysql·微信小程序·php·uniapp·html5·web app
CS Beginner20 天前
【IDEA】记录webapp下创建相同目录的一次错误
java·intellij-idea·web app
爱知菜22 天前
在Azure webapp中搭建 基于chroma的 RAG agent
chroma·web app
2401_885405511 个月前
定位守护童年,科技构筑安全屏障
科技·物联网·安全·小程序·宠物·web app·智能手表
合作小小程序员小小店1 个月前
web开发,学院培养计划系统,基于Python,FlaskWeb,Mysql数据库
后端·python·mysql·django·web app