漏洞原理到利用 之 XXE-实体注入

humbie   ·   发表于 2022-10-05 19:58:32   ·   学习杂记

XXE的危害和SSRF有点像
XXE = (XML)外部实体注入
注入:用户输入的数据被当做代码执行
XML:(存储数据不会做任何事情)(被各种后端脚本调用)像HTML|设计为传输数据所用|无预定义(比如\<b>在HTML(有预定义)是加粗,但是XML中就没有含义)
外部实体:
DTD:通过特殊命令去其他文件读取信息
危害:通过DTD去读取、访问其他文件或者网站。
包含(include)处理代码冗余。

两个DTD危险函数:
simplexml_load_file
simplexml_load_string
课件中有攻击代码(其中的路径可以改成想要读取的文件,网址是风哥给的公网IP,可以直接用)。

XXE找出方法:
1.数据包莫名其妙传递、返回XML代码可以试试。
2.代码审计。

代码审计分为静态(打开代码纯看)和动态(运行,然后用特殊手法去追踪具体的代码流程)审计。。
审计小技巧:依靠静态看代码,不用动态调试,直接修改源码运行看。
静态分为:全文通读(有时间可以多尝试,建议看bluecms)、危险函数定位。
可以利用静态审计工具(课件中有)。(全局搜索危险函数就可以看该位置)
(定位不到的就是系统自带函数)

修复XXE:1、libxml_disable_entity_loader(true)禁用外部实体。
2、过滤SYSTEM关键字。

总结:1.XXE是XML外部实体注入(目标执行了我们提交的XML代码)
2.用法:套用课件中的XML代码
3.危害与SSRF差不多
4.回显问题:2步走的方法外带出来。
5.如何找到漏洞(1.看到传参或者返回包出现XML 2.代码审计)
6.代码审计
7.seay工具(全文搜索,定位函数)
8.踩了坑(本地测试,最好可以开一个全新环境,以免出问题)
9.以前存在漏洞,去看了之后可以尝试去找新的漏洞。

打赏我,让我更有动力~

0 条回复   |  直到 2022-10-5 | 593 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.