网络安全工具:命令行模糊测试器与远程访问工具解析
1. 命令行模糊测试器(Command - Line Fuzzer)
模糊测试(Fuzzing)是一种用于识别可执行文件、协议和系统中潜在漏洞的技术。它在发现用户输入验证较差的应用程序方面特别有用,这类应用程序可能存在如缓冲区溢出等漏洞。Bash 非常适合对接受参数的命令行程序进行模糊测试,因为在 shell 中运行程序正是 Bash 的主要用途。
1.1 模糊测试器的要求
- 要进行模糊测试的参数用问号(?)标识。
- 被模糊测试的参数从单个字符开始,每次执行目标程序时,该参数长度增加一个字符。
- 当参数长度达到 10000 个字符时,模糊测试器停止。
- 如果程序崩溃,模糊测试器将输出导致崩溃的精确命令以及程序的任何输出,包括错误信息。
例如,使用fuzzer.sh对fuzzme.exe的第二个参数进行模糊测试:
./fuzzer.sh fuzzme.exe arg1 ?手动操作时,会像下面这样执行:
$ fuzzme.exe arg1 a $ fuzzme.exe arg1 aa $ fuzzme.exe arg1 aaa $ fuzzme.exe arg1 aaaa $ fuzzme.exe arg1 aaaaa ...