Web安全学院
Web安全学院
  • 首页
  • 译序
  • 学习路线
  • 前篇
    • Web应用程序安全测试
    • 动态应用程序安全测试(DAST)
    • 带外应用程序安全测试(OAST)
  • 服务器端主题
    • SQL注入
      • SQL注入
      • SQL注入UNION攻击
      • 在SQL注入攻击中检索数据库
      • SQL盲注
      • SQL注入速查表
    • 认证
      • 认证漏洞
      • 基于密码登录中的漏洞
      • 多因素认证中的漏洞
      • 其他认证机制中的漏洞
      • 如何保护你的认证机制
    • 目录遍历
      • 目录遍历
    • 命令注入
      • OS命令注入
    • 业务逻辑漏洞
      • 业务逻辑漏洞
      • 业务逻辑漏洞示例
    • 信息泄露
      • 信息泄露漏洞
      • 如何发现并利用信息泄露漏洞
    • 访问控制
      • 访问控制漏洞与权限提升
      • 不安全的直接对象引用(IDOR)
      • 访问控制安全模型
    • 文件上传漏洞
      • 文件上传漏洞
    • 条件竞争
      • 条件竞争
    • 服务器端请求伪造(SSRF)
      • 服务器端请求伪造(SSRF)
      • 盲SSRF漏洞
    • XXE注入
      • XML外部实体(XXE)注入
      • XML实体
      • 发现并利用盲XXE漏洞
  • 客户端主题
    • 跨站脚本(XSS)
      • 跨站脚本
      • 反射型XSS
      • 存储型XSS
      • 基于DOM的XSS
      • XSS上下文
        • 跨站脚本上下文
        • 客户端模版注入
      • 利用跨站脚本漏洞
      • 内容安全策略
      • 悬空标记注入
      • 如何防范XSS漏洞
      • 跨站脚本(XSS)速查表
    • 跨站请求伪造(CSRF)
      • 跨站请求伪造(CSRF)
      • XSS与CSRF
      • 绕过CSRF令牌验证
      • 绕过SameSite Cookie限制
      • 绕过基于Referer的CSRF防御
      • 如何防范CSRF漏洞
    • 跨域资源共享(CORS)
      • 跨域资源共享(CORS)
      • 同源策略(SOP)
      • CORS和Access-Control-Allow-Origin响应标头
    • 点击劫持
      • 点击劫持(UI伪装)
    • 基于DOM的漏洞
      • 基于DOM的漏洞
      • 控制Web消息源
      • 基于DOM的开放重定向
      • 基于DOM的Cookie操纵
      • 基于DOM的JavaScript注入
      • 基于DOM的document-domain操纵
      • 基于DOM的WebSocket URL投毒
      • 基于DOM的链接操纵
      • Web消息操纵
      • 基于DOM的Ajax请求标头操纵
      • 基于DOM的本地文件路径操纵
      • 基于DOM的客户端SQL注入
      • 基于DOM的HTML5 Storage操纵
      • 基于DOM的客户端XPath注入
      • 基于DOM的客户端JSON注入
      • DOM-data操纵
      • 基于DOM的拒绝服务
      • DOM破坏
    • WebSocket
      • 测试WebSocket安全漏洞
      • 什么是WebSocket?
      • 跨站WebSocket劫持
  • 进阶主题
    • 不安全的反序列化
      • 不安全的反序列化
      • 利用不安全的反序列化漏洞
    • 测试GraphQL API
      • 测试GraphQL API
      • 什么是GraphQL?
    • 服务器端模板注入
      • 服务器端模板注入
      • 利用服务器端模板注入漏洞
    • Web缓存投毒
      • Web缓存投毒
      • 缓存设计缺陷的利用
      • 缓存实现缺陷的利用
    • HTTP Host标头攻击
      • HTTP Host标头攻击
      • 如何识别和利用HTTP Host头的漏洞
      • 密码重置投毒
    • HTTP请求走私
      • HTTP请求走私
      • 查找HTTP请求走私漏洞
      • 利用HTTP请求走私漏洞
      • 高级请求走私
        • 高级请求走私
        • HTTP/2降级
        • 响应队列投毒
        • HTTP/2专属载体
        • HTTP请求隧道
      • 浏览器驱动的请求伪造
        • 浏览器驱动的请求伪造
        • CL.0请求走私
        • 客户端异步攻击
        • 基于暂停的异步攻击
    • OAuth认证
      • OAuth 2.0认证漏洞
      • OAuth授权类型
      • OpenID Connect
      • 如何防范OAuth认证漏洞
    • JWT攻击
      • JWT攻击
      • 在Burp Suite中使用JWT
      • 算法混淆攻击
    • 原型污染
      • 什么是原型污染?
      • JavaScript原型和继承
      • 客户端
        • 客户端原型污染漏洞
        • 通过浏览器API进行原型污染
      • 服务器端
        • 服务器端原型污染
      • 预防原型污染漏洞
    • 基本技能
      • 基本技能
      • 使用编码混淆攻击
      • 在手动测试中使用Burp Scanner
Powered by GitBook
On this page
  • 扫描特定请求
  • 扫描自定义插入点
  • 扫描非标准数据结构
  1. 进阶主题
  2. 基本技能

在手动测试中使用Burp Scanner

Previous使用编码混淆攻击

Last updated 1 year ago

在本节中,我们将向你展示如何通过使用Burp Scanner来优化手动测试工作流程的多种方式,以补充你自己的知识和直觉。这不仅可以帮助你扩大测试范围,还可以让你把时间花在更重要的地方,而不是繁琐的准备工作上。

扫描特定请求

当你遇到一个有趣的功能或行为时,第一反应可能是将相关的请求发送到Repeater或Intruder做进一步调查。不过,将请求交给Burp Scanner也是有益的。它可以处理测试中更重复的方面,而你可以在其他地方更好地运用自己的技能。

如果右键单击一个请求并选择Do active scan,Burp Scanner将使用其默认配置仅对该请求进行审计。

这可能无法捕捉到每一个漏洞,但它可能在几秒钟内标记出本可能需要花费几个小时才能找到的问题。它还可以帮助你立即排除某些攻击。你仍然可以使用Burp的手动工具进行更有针对性的测试,不过你将能够将精力集中在特定的输入和更小范围的潜在漏洞上。

即使已经使用Burp Scanner对新目标运行了一次常规爬虫和审计,切换到这种更有针对性的审计方法也可以极大地减少你的整体扫描时间。

LAB

扫描自定义插入点

将扫描限制在单个请求中的好处很容易理解,不过还可以进一步将其仅限于测试该请求中的特定输入。

首先,将请求发送到Burp Intruder。在Positions选项卡中,将任何你感兴趣的插入点添加为有效负载位置,然后右键单击并选择Scan defined insertion points。

然后,你可以配置并启动一个只在这些位置放置有效负载的扫描。这样,你可以专注于你感兴趣的输入,而不是扫描一堆你知道不太可能有用的Cookie。

这种方法可以非常快速地产生结果,只需几秒钟就能提供你需要的内容。这也意味着你可以选择扫描Burp Scanner通常不使用的输入,例如自定义标头值。

扫描非标准数据结构

由于你可以在任意位置自由定义插入点,因此你还可以针对值中的特定子字符串作为目标。除其他用途外,这对于扫描非标准数据结构非常有用。

当处理常见格式(如JSON)时,Burp Scanner能够解析数据并在不破坏结构的情况下将有效负载放置在正确的位置。但是,考虑一个类似于以下的参数:

user=048857-carlos

通过直觉,我们可以猜测后端会将其视为两个不同的值:某种ID和似乎是一个用户名,由连字符分隔。然而,Burp Scanner会把它视为一个单个的值。因此,它只会将有效负载放置在参数的末尾,或者完全替换该值。

通过在值的每个部分分别手动定义一个插入点,你可以准确地扫描甚至是像这样的非标准数据结构。

这对于测试你想要更仔细查看的单个参数特别有用。虽然可以使用Intruder只定义单个插入点,但在这种情况下使用扩展通常更快。然后,你可以在请求中高亮显示任何字符序列(通常是参数值),之后从上下文菜单中选择Extensions > Scan manual insertion point。

通过针对性扫描快速发现漏洞
Scan manual insertion point