1、 解压缩到新建的文件夹/usr/local/src下
syz@ubuntu:/usr/local/src$ sudo tar zxfv ~/Desktop/SPIKE2.9.tgz -C /usr/local/src
2、 解压后进入/usr/local/src/SPIKE/SPIKE /src目录
syz@ubuntu:/usr/local/src/SPIKE/SPIKE$ cd src
3、执行aclocal命令,aclocal是一个perl脚本程序,用于Linux系统的C语言开发。它的定义是:aclocal - create aclocal.m4 by scanning configure.ac。autoconf从configure.in这个列举编译软件时所需要的各种参数的模板文件中创建configure。autoconf需要GNU m4宏处理器来处理aclocal.m4,以生成configure脚本。
syz@ubuntu:~/SPIKE/SPIKE/SPIKE/src$ sudoaclocal
3、 检查configure支持参数
syz@ubuntu:/usr/local/src/SPIKE/SPIKE/src$sudo ./configure --help | more
`configure' configures this package to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--More—
其中,--prefix后面接的路径表示这个软件将来要安装到哪个目录去
4、执行./configure,实际生成makefile规则文件
syz@ubuntu:/usr/local/src/SPIKE/SPIKE/src$ sudo ./configure --prefix=/usr/local/SPIKE
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/usr/local/src/SPIKE/SPIKE/src/missing: Unknown `--run' option
Try `/usr/local/src/SPIKE/SPIKE/src/missing --help' for more information
configure: WARNING: `missing' script is too old or missing
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... (cached) yes
checking for ranlib... ranlib
checking for main in -lc... yes
checking for main in -lssl... no
checking for dlopen in -ldl... yes
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checkingfcntl.h usability... yes
checkingfcntl.h presence... yes
checking for fcntl.h... yes
checkingmalloc.h usability... yes
checkingmalloc.h presence... yes
checking for malloc.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for pid_t... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking for working memcmp... yes
checking return type of signal handlers... void
checking for vprintf... yes
checking for _doprnt... no
checking for select... yes
checking for socket... yes
checking for strdup... yes
checking for strstr... yes
checking for strtoul... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
4、 编译与安装
syz@ubuntu:/usr/local/src/SPIKE/SPIKE/src$ sudo make clean;make
报错:
Assembler messages:
Fatal error: can't create spike.o: Permission denied
make: *** [spike.o] Error 1
提权:
syz@ubuntu:/usr/local/src$ sudochmod -R 777 SPIKE
syz@ubuntu:/usr/local/src/SPIKE/SPIKE/src$ make
Make报错:
ld -shared -soname libdlrpc.so -o libdlrpc.so -lcdlrpc.odlargs.ospike.olistener.ohdebug.otcpstuff.ospike_dcerpc.o base64.o udpstuff.ospike_oncrpc.o
dlrpc.o: In function `s_parse_buffer':
/usr/local/src/SPIKE/SPIKE/src/dlrpc.c:670: undefined reference to `__stack_chk_fail_local'
dlrpc.o: In function `s_parse':
/usr/local/src/SPIKE/SPIKE/src/dlrpc.c:718: undefined reference to `__stack_chk_fail_local'
spike.o: In function `close_a_size':
/usr/local/src/SPIKE/SPIKE/src/spike.c:914: undefined reference to `__stack_chk_fail_local'
spike.o: In function `intel_order':
/usr/local/src/SPIKE/SPIKE/src/spike.c:1425: undefined reference to `__stack_chk_fail_local'
spike.o: In function `s_fd_clear':
/usr/local/src/SPIKE/SPIKE/src/spike.c:1491: undefined reference to `__stack_chk_fail_local'
spike.o:/usr/local/src/SPIKE/SPIKE/src/spike.c:1703: more undefined references to `__stack_chk_fail_local' follow
make: *** [libdlrpc.so] Error 1
更改makefile文件:
#libdlrpc.so: dlrpc.odlargs.o $(SPIKE_OBS)
# ld -shared -soname libdlrpc.so -o libdlrpc.so -lcdlrpc.odlargs.o $(SPIKE_OBS)
libdlrpc.so: dlrpc.odlargs.o $(SPIKE_OBS)
gcc -ggdb -shared -fpic -o libdlrpc.so dlrpc.odlargs.o $(SPIKE_OBS)
make成功:
export LD_LIBRARY_PATH=.:
gcc -ggdb -o line_send_tcpline_send_tcp.odlrpc.odlargs.ospike.olistener.ohdebug.otcpstuff.ospike_dcerpc.o base64.o udpstuff.ospike_oncrpc.o -ldl -L. -ldlrpc
编译完成
syz@ubuntu:/usr/local/src/SPIKE/SPIKE/src$ webmitm
The program 'webmitm' is currently not installed. You can install it by typing:
sudo apt-get install dsniff
syz@ubuntu:/usr/local/src/SPIKE/SPIKE/src$sudo apt-get installdsniff
syz@ubuntu:~/SPIKE/SPIKE/SPIKE/src$ ls *.c -1|grep fuzz
closed_source_web_server_fuzz.c
form_fuzz.c
generic_web_server_fuzz2.c
generic_web_server_fuzz.c
msrpcfuzz.c
msrpcfuzz_udp.c
oldmsrpcfuzz.c
post_fuzz.c
sunrpcfuzz.c
webfuzz_blank.c
webfuzz.c
webfuzzpostlude.c
webfuzzprelude.c
好东西在audits下
syz@ubuntu:~/SPIKE/SPIKE/SPIKE/src$ cd audits
syz@ubuntu:~/SPIKE/SPIKE/SPIKE/src/audits$ ls -l
total 68
drwxrwxrwx 2 500 500 4096 Apr 13 2004 BIZTALK2000
drwxrwxrwx 2 500 500 4096 Apr 13 2004 CIFS
drwxrwxrwx 2 500 500 4096 Apr 13 2004 COMPAQ
drwxrwxrwx 2 500 500 4096 Apr 13 2004 exchange2K
drwxrwxrwx 2 500 500 4096 Apr 13 2004 FTPD
drwxrwxrwx 2 500 500 4096 Apr 13 2004 H323
drwxrwxrwx 2 500 500 4096 Apr 13 2004 IMAP
drwxrwxrwx 2 500 500 4096 Apr 13 2004 lotus
drwxrwxrwx 2 500 500 4096 Apr 13 2004 MSContentManagementServer
drwxrwxrwx 3 500 500 4096 Apr 13 2004 MSSQL
drwxrwxrwx 2 500 500 4096 Apr 13 2004 ORACLE
drwxrwxrwx 2 500 500 4096 Apr 13 2004 POP3
drwxrwxrwx 2 500 500 4096 Apr 13 2004 PPTP
drwxrwxrwx 2 500 500 4096 Apr 13 2004 RealServer
drwxrwxrwx 2 500 500 4096 Apr 13 2004 SMTP
drwxrwxrwx 2 500 500 4096 Apr 13 2004 SSL
drwxrwxrwx 2 500 500 4096 Apr 13 2004 UPNP
linux出现error: openssl/ssl.h: No such file or directory的解决方法
都是没有安装libssl-dev~
libssl-dev包含libraries, header files and manpages,他是openssl的一部分,而openssl对ssl进行了实现~
安装openssl
# sudo apt-get install openssl
再安装以下:
# sudo apt-get install libssl-dev build-essential zlibczlib-bin libidn11-dev libidn11
---------------------------------------------------------------------------------------------
¥29.8
¥9.9
¥59.8