Burp / Burp Suite 是一个用于测试网络应用程序安全性的图形化工具,该工具使用 Java 编写,由 PortSwigger Web Security 开发,提供以下工具:

  • Proxy — 位于浏览器和目标 Web 服务器之间的 HTTP 代理服务器,允许拦截、检查和修改在两个方向上通过的原始流量
  • Intruder — 此工具可以对 Web 应用程序执行自动攻击。该工具提供了一种可配置的算法,可以生成恶意 HTTP 请求。Intruder 工具可以测试和检测 SQL 注入、跨站脚本、参数篡改和易受蛮力攻击的漏洞
  • Repeater — 一个可以用来手动测试应用程序的简单工具。它可以用于修改对服务器的请求,重新发送它们并观察结果
  • Sequencer — 一种分析数据项样本随机性的工具。它可以用于测试应用程序的会话令牌或其他重要的数据项,如反 CSRF 令牌、密码重置令牌等
  • Decoder — 一种将已编码的数据转换为其规范形式,或将原始数据转换为各种编码和散列形式的工具。它能够利用启发式技术智能识别多种编码格式
  • Comparer — 在任意两个数据项之间执行比较(一个可视化的“差异”)的工具
  • Extender — 允许安全测试人员加载 Burp 扩展,使用安全测试人员自己的或第三方代码(BAppStore)扩展 Burp 的功能
  • Scanner — 一个 Web 应用程序安全扫描器,用于执行 Web 应用程序的自动漏洞扫描
  • Spider — 一个自动抓取 Web 应用程序的工具。它可以与手工映射技术一起使用,以加快映射应用程序内容和功能的过程

安装

下载地址:https://portswigger.net/burp/releases
推荐选择 jar 包

插件

学习

官方 Web Security Academy:https://portswigger.net/web-security/learning-path


Server-side topics(服务器端)

建议初学者从服务器端学起,因为只需要理解服务器发生了什么

SQL injection(SQL 注入)

sql-injection.svg

示例1:Retrieving hidden data(检索隐藏数据)
一个购物程序,用户点击“礼品”类别时,浏览器会请求 URL:

  1. https://insecure-website.com/products?category=Gifts

服务器端收到请求后会将 Gifts 拼接到 SQL 语句中进行检索:

  1. SELECT * FROM products WHERE category = 'Gifts' AND released = 1

数据库会返回

  • 商品详情
  • 从 products 表
  • 商品类别为 Gifts
  • 已经发售

这个程序没有防 SQL 注入措施,所以攻击者可以构造这样的请求:

  1. https://insecure-website.com/products?category=Gifts'--

SQL 语句就变成了:

  1. SELECT * FROM products WHERE category = 'Gifts'--' AND released = 1

这里的关键字符 -- 是 SQL 语句的注释符,后面 ' AND released = 1 将被注释掉,这样就能查询到所有的商品了,包括未发售的
更进一步,攻击者可以查询到未知类别的商品:

  1. https://insecure-website.com/products?category=Gifts'+OR+1=1--
  1. SELECT * FROM products WHERE category = 'Gifts' OR 1=1--' AND released = 1

上面的 + 也可以换成空格的 URL 编码 %20

示例2:Subverting application logic(破坏应用逻辑)
一个让用户使用用户名和密码登录的应用,通过以下 SQL 语句来检查凭据:

  1. SELECT * FROM users WHERE username = 'wiener' AND password = 'bluecheese'

如果查询返回用户的详细信息,则登录成功,否则登录失败
这里攻击者只需在 SQL 语句中删除密码检查,即提交用户名和空密码查询:

  1. SELECT * FROM users WHERE username = 'administrator'--' AND password = ''

此查询返回用户的详细信息,攻击者将成功作为该用户登录


参考

  1. https://zh.wikipedia.org/wiki/Burp_suite
  2. https://resources.infosecinstitute.com/topic/burp-suite-walkthrough/
  3. 梨子带你刷burpsuite官方靶场系列之服务器端漏洞篇 - Sql注入专题