常见的爬行问题

关于爬行的问题吗?下面是我们从客户那里收到的最重要的问题:

InsightAppSec可以抓取SWF/Flash文件吗?

是的,InsightAppSec可以测试由Flash生成的客户端和服务器流量。你需要在Rapid7 AppSec流量记录仪或第三方工具中记录流量。InsightAppSec支持以下格式:

  • 流量文件(*.trec)
  • 打嗝文件(* . xml)
  • 帕罗斯岛文件(* . txt)
  • WebScarab文件(conversationlog)
  • 文件(*.har)
  • 提琴手文件(* .saz)

你可以上传交通文件浏览InsightAppSec扫描范围>宏,流量和硒>添加流量文件

如何提高扫描速度?

在很多情况下,InsightAppSec会扫描重复的内容,以避免遗漏任何内容。在某些情况下,这会导致扫描时间过长。您可以在文件中修改以下设置高级选项减少扫描次数。

爬的配置

  • MaxPerDirCrawlResults = 100
  • MaxPerLinkCrawlResults = 10
  • MaxPerDirChildNodes = 100
  • MaxAttackFeedbackLinksCount = 10
  • MaxPerFileNameCrawlResults = 100

攻击者配置

  • ParameterToAttackBeforeLimitingAttacks = 1
  • LinksToAttackBeforLimitingAttacks = 1
  • MaxSameNameParameterAttackPoints = 5
  • MaxSameCookieParameterAttackPoints = 5
  • MaxSameNameParameterAttackPointsPerLink = 1

我如何记录特定的序列并以相同的顺序执行它们?

假设您想要记录事件的确切序列,例如在签出过程中填写发货页面,并攻击该序列。你可以使用使用序列选项,可用在[宏部分](doc:扫描范围,以记录和重播事件的顺序。

使用序列选项允许您攻击序列中的最后一页。但是,如果启用此选项,可能会导致扫描进度变慢。建议您只对宏进行扫描。

我如何扫描web应用程序的某些部分,但排除其他部分?

InsightAppSec具有广泛的功能,允许用户抓取应用程序的某些部分而不是其他部分。您可以使用allowlists和denylists以控制要扫描的应用程序部分。这包括通配符和正则表达式的功能。

还可以使用Macro、Traffic和Selenium文件将扫描限制为应用程序上的一组特定操作。您可以在扫描范围文档。

扫描REST接口有什么限制?

以下是我们目前支持的一些关键内容:

  • 格式-我们支持REST接口使用的大多数流行格式,包括Classic Name=Value、XML、JSON、CSV和GwT。
  • 认证和会话管理-我们支持HTTP_AUTH, Cookies和OAuth。我们还为定制解决方案提供接口。
  • 发现—要了解哪些方法和输入是可用的,必须提供REST接口的客户端和REST接口之间的记录流量。我们支持的文档和url。

以下是执行大规模扫描时的几个关键限制:

  • 认证和会话管理-如果你正在使用我们目前不支持的方案,那么必须为每个方案编写代码。
  • 发现-虽然我们可以自动扫描基于Swagger的文档和url,但我们不支持RAML和API Blueprint的发现。这些技术依赖于手工生成和记录客户端和REST接口之间的流量。

文字匹配和通配符之间的区别是什么?

是通配符,但只有在匹配类型是通配符时它才作为通配符工作,否则它被视为文字。

浏览器宏和记录的流量之间有什么区别?

浏览器宏记录用户的操作,并可以一遍又一遍地播放。例如,如果您在表单字段中输入“John”并点击回车,则在运行时从这些操作生成请求。而记录的流量记录原始请求,除非会话cookie被替换,否则流量将被原样使用。

这两种方法都有各自的优点,除了宏在每个步骤上都有失败的可能,因此步骤越少,遇到问题的可能性就越小。建议宏包含的步骤不要超过10个。如果您打算执行较长的录音,则应该使用流量录音。

当网站上没有实现任何防止流量重放的特殊功能时,流量记录工作得很好,比如一次性令牌。不可能重放只有一个时间令牌的请求。Flash也不支持宏,所以如果你想测试AMF流量,你需要创建流量记录。

什么级别的失败请求值得关注?

5%或更多是一个很好的经验法则。InsightAppSec监视服务器响应,如果看起来InsightAppSec正在对站点进行攻击,则会减慢或提高其速度。

您可以手动更改InsightAppSec并发线程和请求之间的延迟,而扫描正在运行,以降低InsightAppSec。

有时,一个网站的部分,如数据库查询,可能会比网站的其他部分慢,这将是更多的CPU密集型服务器托管的网站。因此,InsightAppSec可能能够扫描站点的一个部分没有问题,但随后遇到站点的一个区域速度较慢,并导致更多的请求失败。

InsightAppSec会测试被测试网站链接到的页面吗?

不,不会的。InsightAppSec遵循爬行限制中设置的指导方针,不会测试任何您没有将其配置为测试的页面。