手机版

Fuzzing-用SPIKE挖掘漏洞(3)

发布时间:2021-06-08   来源:未知    
字号:

详细介绍了fuzzing 工具spike自动化挖掘漏洞的过程

SPIKE支持多种网络协议数据类型,并可在不同格式下,很容易的在不同程序中分割粘贴数据。

SPIKE脚本

如前所述,SPIKE包括一个基本的脚本功能,允许您使用SPIKE脚本测试应用程序,无需自己用C语言写SPIKE FUZZER代码。SPIKE的子函数很给力,所以我们可以针对不同的应用发送测试数据。

在基于TCP的应用服务程序下,我们可以通过用脚本解释器 generic_send_tcp来执行.spk脚本文件的方式,发送特定的数据到特定的IP地址、TCP端口。当然,还有一个generic_send_udp脚本解释器,它的作用类似,就是通过UDP的方式发送数据。

解释器generic_send_tcp将被用来fuzz我们的应用程序,BackTrack系统下,可以在/pentest/fuzzers/spike/目录下找到,如果是你自己下载并编译的SPIKE程序,generic_send_tcp在src目录下面。不带参数的运行结果如下:

root@bt4r1vm:/pentest/fuzzers/spike/# ./generic_send_tcp

argc=1

Usage: ./generic_send_tcp host port spike_script SKIPVAR SKIPSTR

./generic_send_tcp 192.168.1.100 701 something.spk 0 0

前三个参数很明确,分别定义了fuzzing主机的主机名、端口号以及SPIKE脚本的名字,参数4、5则在下面进行了详细的说明。

在SPIKE脚本中,“s_string_variables”是用来向fuzzed数据插入字符串的命令。若是用了一个以上的 “s_string_variables”参数,你可以跳过使用早起的“s_string_variables”为SKIPVAR设置为适当的值。例如,你的脚本中包含三个“s_string_variables”参数,并且你想忽略前两个参数,直接fuzz第三个参数,我们就可以设置 SKIPVAR 为2(变量的编号跟数组一样,从0开始)。

每一个“s_string_variables”也有一些列内置的模糊测试字符串值。如果你想跳过前10个字符,想从第11个字符开始fuzzing,你就可以设置SKIPSTR参数为10(同样从0开始计起)。

当你使用generic_send_tcp时,它输出变量、字符串到测试中的命令行。因此如果你要恢复被打断的SPIKE会话,你可以用得着SKIPVAR、SKIPSTR这两个命令行参数参数。

为了最初仅用“0 0”这些参数开始fuzzing会话,,所以可以用test.spk脚本对主机192.168.1.101的9999端口发起fuzzing会话。用下面这些命令行(假设generic_send_tcp是在/pentest/fuzzers/spike/ 目录下):

root@bt4r1vm:~# /pentest/fuzzers/spike/generic_send_tcp 192.168.56.101 9999 test.spk 0

Fuzzing-用SPIKE挖掘漏洞(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)