kali linux(全版本)详细安装w3af指南(文内提供成品镜像下载)
kali linux(全版本)详细安装w3af指南(2019年)
在网上搜索w3af安装指南的过程中,发现现有指南已经不适用于2018年之后的许多kali linux版本,因此在这里更新一下安装指南,为大家排坑的同时,抛砖迎玉,欢迎讨论。
#打开更新源列表
vi /etc/apt/sources.list
#更改更新源
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb http://ftp.de.debian.org/debian buster main
#更新命令:
apt-get clean && apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
#阿里云#
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
#后续依赖所需下载地址#
deb http://ftp.de.debian.org/debian buster main
cd /usr/local/src
提供一份已经配置完成的镜像(防呆不防傻)
链接:链接地址
提取码:rr81
一、安装W3af(控制台)
(1)更新源
(2)下载w3af并安装pybloomfiltermmap
- 进入安装目录
git clone https://github.com/andresriancho/w3af.git
sudo apt install -y python-pybloomfiltermmap
cd /usr/local/src/w3af
vim w3af/core/controllers/dependency_check/requirements.py
下载w3af
安装pybloomfiltermmap和graphviz
安装完成后可以看到python-pybloomfiltermmap版本为0.3.15
(3)修改文件(针对18年以后版本此处格外注意,有坑)
修改文件的原因:f786548139:这里可以看到pybloomfiltermmap版本为0.3.15,w3af文件中需要安装的版本为0.3.14,并且kali自带的lxml和openssl版本与w3af中需要安装的版本也不一样。修改w3af文件改成kali自带的版本,否则安装的时候会出错。
具体则是修改requirements.py文件和mac.py文件中的相关参数。(不会vi的可以直接进可视化操作系统,左上角>>位置>>计算机>>/usr/…找到py文件编辑)
PIPDependency(‘pybloomfilter’, ‘pybloomfiltermmap’, ‘0.3.15’),
PIPDependency(‘OpenSSL’, ‘pyOpenSSL’, ‘16.2.0’),
PIPDependency(‘lxml’, ‘lxml’, ‘3.7.1’),
vim w3af/core/controllers/dependency_check/platforms/mac.py
MAC_CORE_PIP_PACKAGES.remove(PIPDependency(‘pybloomfilter’, ‘pybloomfiltermmap’, ‘0.3.15’)
cd
cd /usr/local/src/w3af
./w3af_gui
那么这里我们会有疑惑,上面改的这些数值是怎么得来的,我们自己kali自带的lxml和openssl版本是多少?这些数值是否适配我们自己的kali?
最先发现这个解决方法的是GitHub上的一个德国小哥:I found a Solution to install w3af under Kali Rolling 2017.u have to do this steps
pybloomfiltermmap => '0.3.15’
pyOpenSSL => '16.2.0’
lxml =>'3.7.1’
pybloomfiltermmap =>'0.3.15’
目前网上教程和youtube上的教程都是参考这个数值来修改的,不过,这些数值到如今,很多已经不对了,后面会告诉大家如何获得适配自己kali系统的数值。暂时先如此修改。
(4)安装依赖
- 执行./w3af_gui
cd
/tmp/w3af_dependency_install.sh
会提示需要安装的依赖,并在/tmp下面生成执行命令./w3afdependencyinstall.sh
- 安装w3afdependencyinstall.sh
在执行脚本后,会有报错,而这(红框标记处)后面的版本号,就是requirements.py文件中需要额外修改的参数。
apt --fix-broken install
cd
cd /usr/local/src/w3af
./w3af_console
successfully之后还有一个错误,这是由于没有安装npm,后面解决。
按前面方法将requirements.py文件中参数全部修改完成之后,检查下是否有修复。
- 安装retire(同时安装npm)
会提示接下来需要安装什么内容(如果此处不是要求安装retire,按照回显命令安装,或者使用”apt-get install 缺失依赖名称“命令来安装)
- 安装npm
- 安装retire
- 再次执行w3af_console
自此,w3af控制台已经安装完成。
二、安装W3af(图形界面)
(1)执行w3af_gui(图形界面入口),安装依赖
提示需要安装graphviz包
再次执行w3af_gui,提示no module named webkit
(2)安装webkit(有坑)
- 下载软件包
wget http://ftp.br.debian.org/debian/pool/main/w/webkitgtk/libjavascriptcoregtk-1.0-0_2.4.11-3_amd64.deb
wget http://ftp.br.debian.org/debian/pool/main/p/python-support/python-support_1.0.15_all.deb
wget http://ftp.br.debian.org/debian/pool/main/w/webkitgtk/libwebkitgtk-1.0-0_2.4.11-3_amd64.deb
apt --fix-broken install
dpkg -i libjavascriptcoregtk-1.0-0_2.4.11-3_amd64.deb
deb http://ftp.de.debian.org/debian buster main
下载依赖
检查是否存在修复
安装依赖
先执行一条,发现报错,说缺少libicu57:admin64。
- 安装libicu57
如果我们直接"apt-get install",会提示更新源没有libicu57。先确保是否在/etc/apt/sources.list中加入下面的更新源。
wget http://ftp.de.debian.org/debian/pool/main/i/icu/libicu57_57.1-6+deb9u2_amd64.deb
dpkg -i libicu57_57.1-6+deb9u2_amd64.deb
dpkg -i libjavascriptcoregtk-1.0-0_2.4.11-3_amd64.deb
dpkg -i python-support_1.0.15_all.deb
dpkg -i python-webkit_1.1.8-3_amd64.deb
apt-get install libegl1-mesa
浏览器沿着地址可以找到:
此处一定要注意文件名,是否是57,是否带—dbg
下载libicu57:
安装libicu57:
继续安装依赖
继续安装依赖(单独拿出是因为此处会报错)
报错是因为缺乏依赖,需要按照提示安装依赖。
apt-get install libegl1-x11
dpkg -i python-webkit_1.1.8-3_amd64.deb
apt --fix-broken install
cd /usr/local/src/w3af
./w3af_gui
此处报错不重要,只需要其中一个安装成功即可。
- 安装软件包
如果报错,可以尝试再次执行修复命令:
此外,要注意是都在正确的目录安装!!!!!!!!!切记,不然将显示:
处理归档 python-webkit1.1.8-3amd64.deb (–install)时出错
三、安装完成
(1)启动
cd /usr/share/applications #前往applications目录
vim w3af.desktop #创建名为w3af的.desktop文件
(2)创建桌面快捷方式
我们每次使用都需要在终端进入/usr/local/src/w3af中./w3af_gui,这样操作不是很方便,我们可以在桌面上设置一个快捷方式,以后运行只要双击图标即可。
一个桌面快捷方式是由内含该APP元信息(例如,app的名字,启动命令或者图标位置等)的.desktop文件所表示的。桌面快捷方式文件放置于