通过摄像机镜头看到的登录表单。

如果你正在使用Burp Suite测试你的网站,它可能有一些方法让用户登录-很可beplay体育能用吗能它比填写用户名和密码并点击提交更复杂。Burp Scanner.一直能够找到和使用简单的登录表单,但现在你可以记录一个更复杂的登录过程,它会回放录音来验证自己,让它通过测试您的所有网站。

旧版本的Burp扫描仪只会查看一个站点的原始HTML来标识登录表单,但是将无法在现代网站上查看使用JavaScript以呈现其内容的登录。beplay体育能用吗较新版本的Burp扫描仪使用Chromium渲染网站,执行JavaScript以查看网页作为用户。beplay体育能用吗录制登录序列允许Burp扫描仪模仿用户的操作,与登录过程相互作用,尽管它们会像它们一样。

大多数网站都将隐藏许多有趣的功能从未经身份化的用户,许多人将有几个用户分类(想想用户,管理员,超级管理等)。登录显示为Bona-Fide用户对扫描仪彻底测试网站的能力至关重要。beplay体育能用吗

网站之间的登录机制变化很大,这对于自动扫描仪难以处理beplay体育能用吗

让我们花一分钟回顾一下,并讨论如何在没有记录登录序列的情况下登录到一个网站。beplay体育能用吗这是Burp Scanner用来处理所有登录,这是如何它将仍然表现,如果你不提供一个记录的序列。

当试图登录时,第一步是在应用程序中找到登录表单。这不是很复杂,因为我们可以寻找这样的< input type = "密码" >在HTML中,因为站点没有理由不在密码字段上使用密码类型。当然,我们也会找到需要密码的注册表,所以一旦它找到了一些候选表单,Burp Suite就有一个简单的启发式识别哪个是登录:

  • 使用最少的密码字段选择表单,因为登录可能只有一个密码字段,与可能有两个的注册相比。
  • 如果有多个具有相同数量的密码字段的表单,那么登录表单将是具有较少文本字段的表单——注册可能会要求附加信息,如您的姓名或电话号码。
  • 作为一个不破坏者,考虑数量<选择>表单上的字段—同样,登录可能比注册有更少的选项。
  • 如果所有这些都是相同的,那么表单可能是相同的,只是在网站的不同部分,所以我们可以使用任何一个。

一旦我们找到了一种形式,我们如何进入?我们可以直接惹蛮力,但这似乎是浪费时间和资源。在录制的登录之前,Burp套件将允许您指定要使用的用户名/密码凭据,并一旦找到它,请将其中插入到表单中。但如果表格需要一些额外信息,该怎么办?鉴于一些启发式线索,它会猜测 - 例如,看起来像是合法电子邮件的东西并不难。但表格仍然可以通过向土星的卫星的数量询问扫描仪,或者金属的“寻求和摧毁”(扫描仪团队的#1派对国歌,当然)。

如果该过程拆分多页面,该怎么办?一个好的猜测可能是在第一页上输入用户名,第二页中的密码,但如果我们被要求提供出生日期,也许在这两个之间会失败。Add in the increasing popularity of SSO services (we’re talking about “Log in with Google”, “Log in with Microsoft” et al.) and the chance for complications makes it untenable for the Scanner to rely on the same login strategy for every website.

记录你的登录,让扫描器知道在你的网站上做什么beplay体育能用吗

该解决方案是可记录的登录序列。我们捕获由真实用户执行的操作,然后扫描仪可以在需要登录时重放它们。这意味着我们可以处理外部SSO提供程序,多级表单,并包括任何任意信息 - 如果我们不再重要必须使用用户名登录,然后谷歌,然后是微软,然后提供了一些80s Thrash金属琐事。只要登录过程一致,那么我们将能够每次都执行它。

我们很幸运能够在Portswiggigger上拥有一些非常有才华的开发人员,他掀起了一个Chrome扩展,录制了登录beplay官网可以赌并将JSON的序列导出到剪贴板。曾经捕获后,JSON文本可以简单地粘贴到Burp套件中,它将根据需要播放它 - 详细说明打嗝套件专业Burp Suite企业版用户可在支持中心获得。

作为一个旁注,Burp套件导航记录器不仅仅局限于登录-它可以记录任何类型的用户交互。例如,如果你找到XS.漏洞您可以使用录音机捕获和回放导致漏洞的序列。

Burp Scanner通过其底层的铬浏览器重放登录

也突出了Alex Borshik关于浏览器扫描的博客文章Burp Suite使用DevTools协议与其用于驱动扫描的铬浏览器通信。在决定如何重播登录时,有几种方法可以考虑。例如,在单击元素时,我们可以类似地运行到WebDriver,它使用查询选择器来定位元素,然后调度单击事件到它。beplay体育能用吗这主要是扫描仪在爬网和审计的“普通”部分之间的工作原理。

但是,对于已记录的登录,我们希望尽可能模拟用户所采取的操作。DevTools有一个本地dispatchMouseEvent,相当于用户实际移动鼠标并在屏幕上的某个给定坐标处点击。这带来了许多复杂的问题,因为我们现在依赖于知道元素的确切位置,这可能会在录制和重放之间轻易改变,并受到屏幕宽度的影响;我们还需要确保不会错误地点击重叠元素。开发出能在所有网站上一致工作的策略是困难的,但我们尝试了很多技术,我们对结果很满意。beplay体育能用吗

我们正在努力处理尽可能多的登录

由于Scanner只是执行用户执行的操作,并在每次需要登录时回放它们,因此对于每次都相同的登录进程来说,它工作得非常好。但是,如果网站每次都要beplay体育能用吗求不同的密码数字,或者要求双因素验证码,或者需要验证码来解决,就没有办法预先记录正确的行为,因此记录的登录就不起作用了。还有一种可能性是,服务器检测到可疑活动,锁定该账户,或抛出一个在登录记录中没有出现的额外“证明你不是机器人”。

另一个困难是当网站使用一个弹出窗口作为登录过程的一部分beplay体育能用吗。在我们现有的实现中,我们只能使用DevTools与Chromium中的单个框架对话,所以当第二个选项卡或第二个窗口被打开时,我们无法使用它。如果你一直在使用记录登录,那么你可能会遇到错误信息“记录登录序列与弹出窗口目前不支持”-但这是一个问题,我们认为我们可以解决,所以看这个空间。

记录登录是Burp Suite的一个强大的补充,并将变得越来越重要

记录登录的推出非常成功。很高兴听到你们的扫描得到了更多的报道,我们一直在努力修复反馈给我们的问题。和前面提到的弹出窗口一样,你们中的一些人报告说,登录可以正常工作一段时间,然后在扫描期间中断。下一个重大改进将是稳定重放,尽可能一致地登录到Scanner。为了跟上这个和所有其他很酷的东西,我们正在与扫描仪,你可以检查我们的2021路线图

特别感谢扫描器团队的Dave Paterson,他为本文提供了大量的资料。