未授权漏洞可以说是另一种越权形式,相当于从没有权限变为有权限的垂直越权,其根源通常在于缺乏有效的鉴权机制。要想发现这类漏洞,前期扎实的信息收集工作至关重要,找到那些被遗漏的未鉴权接口,往往是绕过登录限制的有效途径。
案例一:通过未授权接口实现的越权操作
在某次针对证书类网站的挖掘过程中,我遇到了一个典型例子。利用过程本身并不复杂,关键在于对接口信息的充分收集。
在该学校资产中,我定位到几处接口。经过一系列测试,我发现其中一处是用于查看资源状态的,其返回信息包含了资源的发布人、发布时间以及资源状态(如上架与否)。

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

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

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

案例二:前端校验导致的认证绕过
在某些场景下,访问页面后后台部分内容会一闪而过。此时,拦截服务器响应包并进行修改,可能会“欺骗”前端通过校验,达到意想不到的效果。
目标系统需要登录,但我没有可用账号。

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

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

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


SQL注入漏洞
面试官喜欢问SQL Server如何注入是有原因的,下面分享两个实战中的SQL Server注入案例。
案例一:从注入到RCE与数据回显
在针对某政府单位系统的渗透测试过程中,发现了一个较新的子系统,支持用户注册登录。在一处添加人员信息的接口中,对JSON参数尝试单引号闭合时触发了报错,后续测试确认其为SQL Server数据库,并且支持堆叠查询。

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

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

案例二:基于响应差异的布尔盲注
在对某系统进行日常渗透测试时,查看代理工具的拦截记录发现可疑请求。


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


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

XSS漏洞
XSS漏洞原理相对简单,但需要根据不同的场景构造不同的Payload。漏洞点的挖掘范围可以很广,任何用户可控的输入点,甚至是文件上传功能,都可能成为突破口,多尝试总会有发现。
案例一:通用型XSS绕过技巧
初步测试时,使用<h1>标签是最温和无害的方式。其次才是各种弹窗Payload。下面的案例展示了在通用型教育网站(edu站点)上,针对不同防护等级的几种绕过方式。
最简单的当然是没有任何防护的情况下,直接使用<script>标签弹窗。

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

最后是基于WAF本身特性实现绕过。经过多次尝试,最终使用下面的Payload成功绕过。
<a %herf="javascript:alert('a')">aa</a>

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

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

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

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


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