文章转载自 https://blog.csdn.net/deng_xj/article/details/87753112
文章作者 邓大帅
在网上搜索w3af安装指南的过程中,发现现有指南已经不适用于2018年之后的许多kali linux版本,因此在这里更新一下安装指南,为大家排坑的同时,抛砖迎玉,欢迎讨论。
一、 安装W3af(控制台)
(1) 更新源
#打开更新源列表
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
(2) 下载w3af并安装pybloomfiltermmap1、进入安装目录
2、下载w3af
git clone https://github.com/andresriancho/w3af.git
3、 安装pybloomfiltermmap graphviz
sudo apt install -y python-pybloomfiltermmap
安装完成后可以看到python-pybloomfiltermmap版本为0.3.15 (3) 修改文件(针对18年以后版本此处格外注意,有坑)
修改文件的原因:这里可以看到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系统的数值。暂时先如此修改。
(4) 安装依赖1、执行./w3af_gui
cd
cd /usr/local/src/w3af
./w3af_gui
会提示需要安装的依赖,并在/tmp下面生成执行命令./w3af_dependency_install.sh
2、安装w3af_dependency_install.sh
cd
/tmp/w3af_dependency_install.sh
在执行脚本后,会有报错,而这(红框标记处)后面的版本号,就是requirements.py文件中需要额外修改的参数
uccessfully之后还有一个错误,这是由于没有安装npm,后面解决。 按前面方法将requirements.py文件中参数全部修改完成之后,检查下是否有修复
3、安装retire(同时安装npm)
cd
cd /usr/local/src/w3af
./w3af_console
会提示接下来需要安装什么内容(如果此处不是要求安装retire,按照回显命令安装,或者使用”apt-get install 缺失依赖名称“命令来安装)
<1> 安装npm
<2>安装retire
4、再次执行w3af_console
cd
cd /usr/local/src/w3af
./w3af_console
自此,w3af控制台已经安装完成。 二、 安装W3af(图形界面)(1)执行w3af_gui(图形界面入口),安装依赖
cd
cd /usr/local/src/w3af
./w3af_gui
提示需要安装graphviz包
sudo apt-get install graphviz
再次执行w3af_gui 提示no module named webkit (2)安装webkit
1、下载软件包
cd ../
wget http://ftp.br.debian.org/debian/pool/main/p/pywebkitgtk/python-webkit_1.1.8-3_amd64.deb
2、下载依赖
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
3、检查是否存在修复
4、安装依赖
dpkg -i libjavascriptcoregtk-1.0-0_2.4.11-3_amd64.deb
先执行一条,发现报错,说缺少libicu57:admin64。 5、安装libicu57如果我们直接"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
6、继续安装依赖dpkg -i libjavascriptcoregtk-1.0-0_2.4.11-3_amd64.deb
dpkg -i python-support_1.0.15_all.deb
7、继续安装依赖(单独拿出是因为此处会报错)
dpkg -i python-webkit_1.1.8-3_amd64.deb
报错是因为缺乏依赖,需要按照提示安装依赖。
apt-get install libegl1-mesa
apt-get install libegl1-x11
此处报错不重要,只需要其中一个安装成功即可。 8、安装软件包
dpkg -i python-webkit_1.1.8-3_amd64.deb
如果报错,可以尝试再次执行修复命令:
此外,要注意是都在正确的目录安装!!!!!!!!!切记,不然将显示:
处理归档 python-webkit_1.1.8-3_amd64.deb (–install)时出错
三、 安装完成(1) 启动
cd /usr/local/src/w3af
./w3af_gui
(2) 创建桌面快捷方式
我们每次使用都需要在终端进入/usr/local/src/w3af中./w3af_gui,这样操作不是很方便,我们可以在桌面上设置一个快捷方式,以后运行只要双击图标即可。
一个桌面快捷方式是由内含该APP元信息(例如,app的名字,启动命令或者图标位置等)的.desktop文件所表示的。桌面快捷方式文件放置于/usr/share/applications或者~/.local/share/applications处。前一个目录存储的桌面快捷方式每个用户都可以使用,而后一个目录则含有仅仅为特定用户创建的快捷方式。
要为特定程序或命令创建桌面快捷方式,你可以使用任意文本编辑器创建一个.desktop文件,然后把它放到/usr/share/applications或者~/.local/share/applications处。
1、创建.desktop文件
cd /usr/share/applications #前往applications目录
vim w3af.desktop #创建名为w3af的.desktop文件
在vim中编辑加入如下内容:
[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) 2、添加可执行权限并复制至桌面<1> 添加可执行权限 <2> 复制至桌面 cp /usr/share/applications/w3af.desktop /root/桌面
双击即可开启w3af
|