找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1698

积分

0

好友

219

主题
发表于 15 小时前 | 查看: 2| 回复: 0

未授权漏洞可以说是另一种越权形式,相当于从没有权限变为有权限的垂直越权,其根源通常在于缺乏有效的鉴权机制。要想发现这类漏洞,前期扎实的信息收集工作至关重要,找到那些被遗漏的未鉴权接口,往往是绕过登录限制的有效途径。

案例一:通过未授权接口实现的越权操作

在某次针对证书类网站的挖掘过程中,我遇到了一个典型例子。利用过程本身并不复杂,关键在于对接口信息的充分收集。

在该学校资产中,我定位到几处接口。经过一系列测试,我发现其中一处是用于查看资源状态的,其返回信息包含了资源的发布人、发布时间以及资源状态(如上架与否)。

查看资源状态的JSON接口返回截图

我们查看对应的资源页面,信息与接口返回完全吻合。

资源列表页面截图

然而,仅查看信息还不足以构成未授权漏洞。真正的突破口在于尝试不同的HTTP请求方法。常见的请求方式有GET和POST,此外还有DELETE、PUT等方法。通过修改请求方法并观察返回结果,我发现了一丝希望。

使用DELETE方法请求接口返回错误信息

最终,经过反复测试,我成功利用DELETE方法将指定资源下架,并借助其他接口实现了资源重新上线,完成了未授权状态下的增删操作。

成功利用DELETE方法操作资源的请求与响应截图

案例二:前端校验导致的认证绕过

在某些场景下,访问页面后后台部分内容会一闪而过。此时,拦截服务器响应包并进行修改,可能会“欺骗”前端通过校验,达到意想不到的效果。

目标系统需要登录,但我没有可用账号。

目标系统登录页面截图

开启代理工具拦截,捕获服务器返回的响应包。

Burp Suite拦截请求的界面截图

接下来分析响应包。这个系统的鉴权方式比较特殊:后端返回的JavaScript代码中包含一段逻辑,会在页面加载后的一段时间(如1秒)触发身份认证检查。如果我们直接移除这段代码,或者修改其延时时间,就能绕过校验。

包含定时身份认证逻辑的JavaScript代码截图

修改响应包并放行后,成功进入系统后台,并以管理员身份实现了对数据的增、删、查、改等操作,获取了系统内近几年的所有订单信息,并在此过程中发现了其他如SQL注入和XSS等漏洞。

系统后台数据管理仪表盘截图

系统订单数据表格截图

SQL注入漏洞

面试官喜欢问SQL Server如何注入是有原因的,下面分享两个实战中的SQL Server注入案例。

案例一:从注入到RCE与数据回显

在针对某政府单位系统的渗透测试过程中,发现了一个较新的子系统,支持用户注册登录。在一处添加人员信息的接口中,对JSON参数尝试单引号闭合时触发了报错,后续测试确认其为SQL Server数据库,并且支持堆叠查询。

存在SQL报错的HTTP请求与响应截图

随后,通过启用并调用xp_cmdshell扩展存储过程实现命令执行。由于该主机是Windows系统且MySQL权限较低,很多命令无法直接执行,但curl命令可以正常工作并回显结果。

通过SQL注入调用xp_cmdshell执行命令的请求截图

最后,成功将命令执行结果外带到远程服务器进行接收。

命令行监听并接收外带数据的截图

案例二:基于响应差异的布尔盲注

在对某系统进行日常渗透测试时,查看代理工具的拦截记录发现可疑请求。

系统规则管理页面截图

HTTP请求历史记录界面截图

对上述接口的参数进行URL解码后,测试不同数量的单引号,发现传入单引号个数不同时,服务器的响应结果(布尔值)存在差异。

单引号测试触发不同响应的截图1

单引号测试触发不同响应的截图2

这显然不是偶然。可能是WAF或代码层拦截了详细的报错信息,导致我们无法看到错误回显。于是,我们利用这种响应结果的差异构造布尔盲注。通过测试发现可以利用整数溢出(在709和710之间产生差异),最终通过模糊匹配的方式成功实施注入。

利用Intruder模块进行布尔盲注测试的截图

XSS漏洞

XSS漏洞原理相对简单,但需要根据不同的场景构造不同的Payload。漏洞点的挖掘范围可以很广,任何用户可控的输入点,甚至是文件上传功能,都可能成为突破口,多尝试总会有发现。

案例一:通用型XSS绕过技巧

初步测试时,使用<h1>标签是最温和无害的方式。其次才是各种弹窗Payload。下面的案例展示了在通用型教育网站(edu站点)上,针对不同防护等级的几种绕过方式。

最简单的当然是没有任何防护的情况下,直接使用<script>标签弹窗。

无防护下script标签XSS成功的请求响应截图

如果站点禁用了<script>标签或某些敏感字符串,可以尝试编码绕过,或者通过Fuzzing技术绕过黑名单。

通过URL编码绕过过滤的XSS请求截图

最后是基于WAF本身特性实现绕过。经过多次尝试,最终使用下面的Payload成功绕过。

<a %herf="javascript:alert('a')">aa</a>

利用特殊构造绕过WAF的XSS请求截图

案例二:文件上传触发的存储型XSS

许多文件上传功能会将文件存入特定的存储桶或目录。在无法直接获取Shell的情况下,可以尝试上传HTML、SVG等可被浏览器解析的文件。下面的案例中,由于后端对文件后缀进行了校验,我们通过上传XML文件成功触发了XSS。

上传XML文件并触发XSS的请求与响应截图

上传的恶意XML文件被成功解析,并执行了弹窗代码。

页面解析XML并弹出警告框的截图

总结

漏洞挖掘绝非一蹴而就。每一次的经验积累、新的思考角度以及大胆的尝试,都可能成为突破僵局的关键。许多漏洞类型初看很难,但在实际遇到并不断总结后,会逐渐变得熟悉。面对不同的测试场景和功能模块,用心去揣摩其逻辑,往往能发现破绽。希望这些来自实战的漏洞挖掘思路能为你带来启发。

“渗透大师”熊猫头表情包

核心漏洞挖掘思路导图

下图梳理了在渗透测试中,从信息收集到针对各类功能点(如登录、任意用户操作、后台等)进行测试的核心思路与常见漏洞类型,对于构建完整的测试框架非常有帮助。

漏洞挖掘核心思路与功能点测试思维导图

业务功能点与信息收集的另类思路思维导图

希望这些实战案例能帮助你拓宽思路。安全技术的学习与交流至关重要,欢迎在云栈社区与更多技术同好一起探讨Web安全与渗透测试的奥秘。




上一篇:AI攻陷全球600余台FortiGate防火墙,浅析其攻击链与防御建议
下一篇:Windows PPID 欺骗与句柄继承详解:实战恶意进程伪装与权限控制
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 19:43 , Processed in 0.342761 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表