要求:Python 3
pip3 install --user --upgrade -r requirements.txt或者./install.sh
Docker
docker build -t recollapse .或者docker pull 0xacb/recollapse
用法
$ recollapse -h
usage: recollapse [-h] [-p POSITIONS] [-e {1,2,3}] [-r RANGE] [-s SIZE] [-f FILE]
[-an] [-mn MAXNORM] [-nt]
[input]
REcollapse is a helper tool for black-box regex fuzzing to bypass validations and
discover normalizations in web applications
positional arguments:
input original input
options:
-h, --help show this help message and exit
-p POSITIONS, --positions POSITIONS
pivot position modes. Example: 1,2,3,4 (default). 1: starting,
2: separator, 3: normalization, 4: termination
-e {1,2,3}, --encoding {1,2,3}
1: URL-encoded format (default), 2: Unicode format, 3: Raw
format
-r RANGE, --range RANGE
range of bytes for fuzzing. Example: 0,0xff (default)
-s SIZE, --size SIZE number of fuzzing bytes (default: 1)
-f FILE, --file FILE read input from file
-an, --alphanum include alphanumeric bytes in fuzzing range
-mn MAXNORM, --maxnorm MAXNORM
maximum number of normalizations (default: 3)
-nt, --normtable print normalization table
-
模糊输入的开头:
$this_is.an_example
-
模糊特殊字符前后:
this$_$is$.$an$_$example
-
Fuzz归一化位置:根据归一化表替换所有可能的字节
-
模糊输入的结尾:
this_is.an_example$
编码
-
application/x-www-form-urlencoded
与查询参数一起使用的 URL 编码格式:%22this_is.an_example
-
Unicode 格式用于
application/json
:u0022this_is.an_example
-
原始格式用于
multipart/form-data
:"this_is.an_example
范围
指定用于模糊测试的字节范围:-r 1-127
. -an
除非提供该选项,否则这将排除字母数字字符。
尺寸
指定位置模糊测试的大小1
,2
和4
。默认方法是模糊一个字节的所有可能值。增加大小会消耗更多的资源并产生更多的输入,但它会导致找到新的旁路。
文件
输入可以作为位置参数、标准输入或通过选项的文件提供-f
。
字母数字
默认情况下,字母数字字符将被排除在输出生成之外,这通常在响应方面并不有趣。您可以使用该选项允许此-an
操作。
项目地址:
https://github.com/0xacb/recollapse
原文始发于微信公众号(Khan安全攻防实验室):黑盒Bypass - REcollapse
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论