详细介绍了fuzzing 工具spike自动化挖掘漏洞的过程
块定义命令允许你用SPIKE脚本指定已命名块的起始与结束点。这允许你在SPIKES内用block size命令定义那些数据段的大小。
s_block_start(“block1″); //定义块“block1”的起始位置
s_block_end(“block1″); // 定义块“block1″的结束位置
Block Sizes 块大小
块大小命令允许你向SPIKES已命名的block块插入size大小的数据,这些数据可以用你自己的脚本生成,允许他们有各种大小格式等。
s_blocksize_string(“block1″, 2); // 添加一个2个字符长的字符串到SPIKE中来
代表block1块的大小s_binary_block_size_byte(“block1″); //添加1byte数据到
SPIKE中来代表block1块的大小
这是向SPIKE添加块数据多种方法中的两个例子。当然还有其他方法允许你用各种格式的块,甚至一些允许增加块预设值。
要想看一下其他选项,在src目录下的spike.h文件里执行一下grep显示,筛选
“block_size”或“blocksize”即可。
Other Useful Commands其他有用的命令
跟先前提到的其他类别都不符合的归类到本组。
s_read_packet(); // 读取来自服务器的数据,并显示到屏幕上
s_readline(); // 从服务器上读取一行输入信息
你也可以参考SPIKE内其他脚本,用C语言添加具有额外功能的脚本。一个特别有用的函数是printf(),他可以通过终端显示,给我们提供更多信息。
An Example SPIKE Script
接下来是一个SPIKE脚本的例子,这个脚本对服务器的
testme.php页面上的输入变量提交POST请求,进行fuzz测试。
s_string("POST /testme.php HTTP/1.1rn");
s_string("Host: rn");
s_string("Content-Length: ");
s_blocksize_string("block1", 5);
s_string("rnConnection: closernrn");
s_block_start("block1");
s_string("inputvar=");
s_string_variable("inputval");
s_block_end("block1");