update README.md

This commit is contained in:
M09Ic 2022-12-14 23:15:38 +08:00
parent 7b4686caca
commit 34e544deaf

View File

@ -242,29 +242,34 @@ spray默认输出到终端的格式是human-like文本, 输出到文件的格式
spray中修改过滤规则有很多中方式, 以这个例子进行简单介绍不同方式之间的差异.
**方法1: 添加参数`--black-status 405`**
这种方式较为暴力, 如果代码中明确404页面的状态码被修改成405, 可以之间在precompare阶段过滤.
如果405页面的依旧有可能存在有价值的信息, 则不推荐使用这种方式.
这种方式较为暴力, 会在precompare阶段直接过滤掉, 跳过后续的阶段.
建议明确知道405状态码为无效页面的情况下使用. 果405页面的依旧有可能存在有价值的信息, 则不推荐使用这种方式.
**方法2: 添加参数`--fuzzy-status 405`**
这种方法是比较推荐的, 他只会微调智能过滤的逻辑, 随机目录的405状态码将会加入到基线中, 如果其他请求也遇到了几乎相同的405页面, 则可以认为是无效数据过滤掉.
405配置到fuzzy-status状态码列表中, 每次遇到405请求, 都会与405baseline进行对比.
这种微调可以保留智能过滤的全部功能, 并且不会有性能损耗.
这种方法是比较推荐的, 它只会微调智能过滤的逻辑, 随机目录的405状态码将会加入到基线中, 如果其他请求也遇到了几乎相同的405页面, 则可以认为是无效数据过滤掉.
可以保留智能过滤的全部功能, 并且不会有额外的性能损耗.
**方法3: 使用表达式匹配`--match current.Status != 405`**
这个表达式表示, 所有状态码不等于405的页面都会输出. 有些类似方法1中的black-status, 但是方法1并不会对其他智能过滤的规则做出修改.
--match将会重载默认的智能过滤的全部逻辑. 也就是说, 智能过滤的123阶段都会跳过, 取而代之的是这个表达式.
这个表达式表示, 所有状态码不等于405的页面都会输出.
表达式的性能并不好, 如果是超大规模的爆破, 并不推荐使用.
表达式的性能并不好, 并且配置起来也较为麻烦, 不推荐使用.
**方法4: 使用表达式过滤`--filter current.Status == 405`**
--filter与--match的区别在于, --filter作用于智能过滤或--match的下一阶段. 通过智能过滤或者--match的结果将会由--filter进行二次过滤.
filter一般来说是比match的更高优先级的选择.
也就是说, 如果设置了--filter, 那么智能过滤依旧生效, 并且可以过滤掉状态码为405的请求.
--filter与--match的区别在于, --filter作用于compare(包括智能过滤与match表达式过滤)的下一阶段. 通过compare结果将会由--filter进行二次过滤.
意味着, 如果仅设置了--filter, 那么智能过滤依旧生效, 并且可以过滤掉状态码为405的请求.
### 断点续传