在网上搜索w3af安装指南的过程中,发现现有指南已经不适用于2018年之后的许多kali linux版本,因此在这里更新一下安装指南,为大家排坑的同时,抛砖迎玉,欢迎讨论。
提供一份已经配置完成的镜像(防呆不防傻)
链接:https://pan.baidu.com/s/1m-Apkd0L4z79cSSaD5Z3GQ
提取码:rr81
#打开更新源列表
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
git clone https://github.com/andresriancho/w3af.git
sudo apt install -y python-pybloomfiltermmap
安装完成后可以看到python-pybloomfiltermmap版本为0.3.15
修改文件的原因:
f786548139:这里可以看到pybloomfiltermmap版本为0.3.15 w3af文件中需要安装的版本为0.3.14 并且kali自带的lxml和openssl版本与w3af中需要安装的版本也不一样 修改w3af文件改成kali自带的版本 否则安装的时候会出错。
具体则是修改requirements.py文件和mac.py文件中的相关参数。(不会vi的可以直接进可视化操作系统 左上角>>位置>>计算机>>/usr/…找到py文件编辑)
cd /usr/local/src/w3af
vim w3af/core/controllers/dependency_check/requirements.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’)
那么这里我们会有疑惑,上面改的这些数值是怎么得来的,我们自己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系统的数值。暂时先如此修改。
cd
cd /usr/local/src/w3af
./w3af_gui
会提示需要安装的依赖,并在/tmp下面生成执行命令./w3af_dependency_install.sh
cd
/tmp/w3af_dependency_install.sh
在执行脚本后,会有报错,而这(红框标记处)后面的版本号,就是requirements.py文件中需要额外修改的参数。
successfully之后还有一个错误,这是由于没有安装npm,后面解决。
按前面方法将requirements.py文件中参数全部修改完成之后,检查下是否有修复。
apt --fix-broken install
cd
cd /usr/local/src/w3af
./w3af_console
会提示接下来需要安装什么内容(如果此处不是要求安装retire,按照回显命令安装,或者使用”apt-get install 缺失依赖名称“命令来安装)
<1> 安装npm
apt-get install npm
<2>安装retire
npm install -g retire
cd
cd /usr/local/src/w3af
./w3af_console
cd
cd /usr/local/src/w3af
./w3af_gui
提示需要安装graphviz包
sudo apt-get install graphviz
再次执行w3af_gui 提示no module named webkit
cd ../
wget http://ftp.br.debian.org/debian/pool/main/p/pywebkitgtk/python-webkit_1.1.8-3_amd64.deb
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
先执行一条,发现报错,说缺少libicu57:admin64。
如果我们直接"apt-get install",会提示更新源没有libicu57。先确保是否在/etc/apt/sources.list中加入下面的更新源。
deb http://ftp.de.debian.org/debian buster main
浏览器沿着地址可以找到:http://ftp.de.debian.org/debian/pool/main/i/icu/
此处一定要注意文件名,是否是57,是否带—dbg
下载libicu57:
wget http://ftp.de.debian.org/debian/pool/main/i/icu/libicu57_57.1-6+deb9u2_amd64.deb
安装libicu57:
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
apt-get install libegl1-x11
dpkg -i python-webkit_1.1.8-3_amd64.deb
如果报错,可以尝试再次执行修复命令:
apt --fix-broken install
此外,要注意是都在正确的目录安装!!!!!!!!!切记,不然将显示:
处理归档 python-webkit_1.1.8-3_amd64.deb (–install)时出错
cd /usr/local/src/w3af
./w3af_gui
我们每次使用都需要在终端进入/usr/local/src/w3af中./w3af_gui,这样操作不是很方便,我们可以在桌面上设置一个快捷方式,以后运行只要双击图标即可。
一个桌面快捷方式是由内含该APP元信息(例如,app的名字,启动命令或者图标位置等)的.desktop文件所表示的。桌面快捷方式文件放置于/usr/share/applications或者~/.local/share/applications处。前一个目录存储的桌面快捷方式每个用户都可以使用,而后一个目录则含有仅仅为特定用户创建的快捷方式。
要为特定程序或命令创建桌面快捷方式,你可以使用任意文本编辑器创建一个.desktop文件,然后把它放到/usr/share/applications或者~/.local/share/applications处。
cd /usr/share/applications #前往applications目录
vim w3af.desktop #创建名为w3af的.desktop文件
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name[en_US]=w3af
GenericName=w3af
Exec=/bin/sh "/usr/local/src/w3af/w3af_gui"
Terminal=false
Icon[en_US]=/opt/yed-3.11.1/icons/yicon32.png
Type=Application
Categories=Application;Development;
Comment[en_US]=yEd Graph Editor
StartupNotify=true
在 Exec =/bin/sh 后的引号内写入自己w3af执行文件的路径,保存退出(esc:wq)
<1> 添加可执行权限
chmod +x w3af.desktop
<2> 复制至桌面
cp /usr/share/applications/w3af.desktop /root/桌面
参考:
1: https://blog.csdn.net/f786548139/article/details/80604586
2: https://blog.csdn.net/SouthWind0/article/details/82973281
3: https://blog.csdn.net/weixin_34744507/article/details/83049215
4: https://www.cnblogs.com/zylq-blog/p/6694566.html
5: https://www.freebuf.com/column/145984.html
6: https://github.com/andresriancho/w3af/issues/15523
7: https://blog.csdn.net/doupeihua/article/details/52020551