文章转载自 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 
 
  |