被禁用的工具——观察法:为何它被视为"禁忌"

本文探讨了在网络安全测试中被忽视的观察技巧,详细介绍了如何通过细致观察发现业务逻辑漏洞,包括UI与代码不一致、隐藏端点等实用检测方法,以及90秒快速检测流程。

被禁用的工具——观察法:为什么它被视为"禁忌"

大多数漏洞猎人追逐扫描器和载荷列表。我不这样做。我猎取的是假设。真正免费且完全被忽视的工具很简单:观察。

为什么它被视为"禁忌"

人们把测试当作检查清单:运行工具,导出报告,继续前进。观察打破了这种节奏。它提出缓慢的问题:为什么这个按钮存在,谁会点击它,如果我不按照UI预期操作会发生什么?这些微小的人类不匹配就是业务逻辑漏洞,扫描器永远无法建模。

单行规则

如果UI和代码不一致,开始探查——不要开始扫描。

一个问题

我在测试一个仪表板时,删除按钮对非管理员用户隐藏在JavaScript切换后面。我问:“如果我直接调用删除端点会怎样?“请求成功了。没有服务器端检查。没有花哨的漏洞利用——只是一个人为的不匹配和一个简单的curl命令。P1级别漏洞。

观察什么(检查清单)

  • UI中奇怪的标签、拼写错误或版本号
  • HTML注释或剪贴板处理程序中的隐藏链接
  • 类似请求之间的轻微时间差异
  • 暗示已移除功能的未链接资源(旧的JS/CSS)
  • 登录与未登录资源的不同响应
  • 类似流程的状态码不一致
  • 过于详细的错误页面或堆栈跟踪
  • Robots.txt/sitemap条目指向被遗忘的端点

微例行程序——90秒开始

  1. 打开应用,像困惑的用户一样浏览90秒
  2. 记录5个异常点(文案、按钮、重定向、资源)
  3. 在Burp/DevTools中重放这些流程并比较请求
  4. 仅对异常端点进行模糊测试。更高产出,更少噪音

专业技巧

当用户期望出现按钮但没有出现时——这种期望就是一个等待被表述为"如果……会怎样?“的漏洞。

观察无需成本。它比扫描器更安静,比暴力破解更精确。训练它。提出小问题。发现大漏洞。

— Viratavi

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计