Kali安装w3af超级详细教程
我为了安装个w3af花了10个小时,因为网上能参考的教程比较少,有些报错的解决方法甚至网上都没有,特意记录下来,以供大家参考。整篇教程适合刚装的kali。
首先,由于kali2.0自带的w3af在扫描时会自动卡死,而且kali在2019.2发布的版本中去除了w3af,所以我们需要自己安装。我们需要准备以下三个环境:
- Git 客户端:安装命令
sudo apt-get install git
- Python 2.7, 这个kali是默认安装的,但是python2.7在2020年1月1日会停止维护,我们下面需要的pip在2020.1.1后不再支持python2.7,建议大家在安装完w3af后升级python。
- Pip version 1.1:安装命令
sudo apt-get install python-pip
之后我们进入到w3af的安装流程
- 首先我们根据官方文档的建议,把w3af安装在主目录上,当然也可以不安装在这里。
- 升级一下数据:
apt-get update
。 - 升级pip:
pip install --update pip
。 - 下载w3af源代码:
git clone https://github.com/andresriancho/w3af.git
这里可能会花费一下时间 - 进入w3af目录:
cd /root/w3af
(安装在哪就去哪)。 - 安装lxml:
apt-get build-dep python-lxml
(需要先安装此软件,官方文档未提示安装,但不安装便会报错,好坑) - 打开界面:
./w3af_console
(命令行界面);./w3af_gui
(图形化界面)。 - 打开后会显示需要安装很多依赖
那么我们可以直接复制上方的命令,也可以执行下方的脚本。 - 这是会有报错的情况,如果没有报错请直接跳过这步。
【1】下图报错
输入下列命令,安装依赖:
sudo apt-get install python-dev
sudo apt-get install build-essential
sudo apt-get install libssl-dev
sudo apt-get install libffi-dev
sudo apt-get install libxml2-dev
sudo apt-get install libxslt1-dev
sudo apt-get install zlib1g-dev
sudo apt-get install python-pip
接下来继续执行第八步。
【2】下图报错
这是由于你的PyYAML版本不对或者没有安装。
输入以下命令:pip install pyyaml==3.12
若还是报错,那你的版本可能比3.12高,所以需要降级,但是使用
pip uninstall pyyaml
会报错,由于PyYAML的依赖过多,不能清晰地删除,所以我们执行以下命令:
sudo pip install pyyaml==3.12 --ignore-installed nibabel
再次执行第8步。
在成功打开地打开命令行界面后,我们打开图形化界面:
- 图形化界面会告知继续安装依赖。
- 安装后,运行图形化界面,会有提示no module named webkit,所以还需要安装webkit。
- 执行下列命令:
【1】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
【3】wget http://ftp.br.debian.org/debian/pool/main/p/python-support/python-support_1.0.15_all.deb
【4】wget http://ftp.br.debian.org/debian/pool/main/w/webkitgtk/libwebkitgtk-1.0-0_2.4.11-3_amd64.deb
【5】dpkg -i python-support_1.0.15_all.deb
【6】dpkg -i libjavascriptcoregtk-1.0-0_2.4.11-3_amd64.deb
【7】dpkg -i libwebkitgtk-1.0-0_2.4.11-3_amd64.deb
【8】dpkg -i python-webkit_1.1.8-3_amd64.deb
可能会报错,依赖libicu57未安装,不知道什么原因,截止到我发这篇博客之前网上并没有正确可以下载libicu57的命令发布,所以我们自己找链接
链接点击这里
在里面找到适合自己的libicu57版本,执行命令:
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
(你下载的文件)
再次执行【6】到【8】
若再次报错,则输入:apt-get install --fix-broken
再次执行【8】
图形化界面打开成功
——————————安装成功————————————
【附】创建w3af桌面快捷方式:
-
如果你的kali自带了w3af,可以使用旧版本的快捷方式,位置一般在w3af目录下,文件名是w3af.desktop。
-
如果你的kali没有自带w3af,那么我们自己装,首先在桌面或w3af目录中创建w3af.desktop文件,可以使用cat命令,直接对文件内容进行修改。
-
输入命令:
cat >w3af.desktop <<EOF
-
接着输入文件的内容:
>[Desktop Entry]
>Type=Application
>Name=w3af
>Encoding=UTF-8
>Exec=sh -c "/root/w3af/w3af_gui"
>Icon=/root/w3af/w3af.png
>Terminal=true
>Categories=w3af
>EOF
【拓展】
(1).[Desktop Entry] 每个桌面项文件的第一行和每节的开头,标识与桌面集成的键值对块,是桌面正确识别文件所必须的。
(2).Type(必填):定义了Desktop Entry文件的类型。常见的Type数值是Application和Link。Application表示当前Desktop Entry文件指向了一个应用程序; Link表示当前Desktop Entry文件指向了一个URL。
(3).Name(必填):定义了应用程序的名称。
(4).Exec(选填):定义了启动指定应用程序所要执行的命令,该关键字只有在Type=Application时才有意义。
(5).Icon(选填):定义了当前Desktop Entry文件在应用程序浏览器或在文件浏览器中所显示的图标。w3af图标如下图,若文件没有缩略图,则可以以png方式保存下图:
(6).Terminal(选填):布尔类型,该关键字只有在Type=Application时才有意义。其数值指出了是否需要在终端窗口中运行。
(7).Comment(选填):该数值是对当前Desktop Entry的简单描述。
(8).Categories(选填):该数值指出了相关应用程序在菜单中显示的类别。只有在Type=Application时才有意义。 -
然后我们把文件放到桌面上,进入桌面目录.
-
给予该快捷方式以权限:
chmod +x w3af.desktop。
-
此时若你的快捷方式文件变为下图所示,则为成功
-
若你的快捷方式还是不能运行,则点击下图所示的“Allow Launching”。