安装
安装过程复杂而艰辛!!!!
- cd ~ 去根目录下安装
- apt-get update
- pip install --upgrade pip
- git clone https://github.com/andresriancho/w3af.git
- cd w3af
-
安装pybloomfiltermmap
sudo apt install -y python-pybloomfiltermmap
pybloomfiltermmap版本为0.3.15 w3af文件中需要安装的版本为0.3.14 并且kali自带的lxml和openssl版本与w3af中需要安装的版本也不一样 修改w3af文件改成kali自带的版本 否则安装的时候会出错,分别进入requirements.py和platforms/mac.py内修改成如下版本:
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’)
- . /tmp/w3af_dependency_install.sh(执行相应脚本安装命令,其实就是需要安装的环境)
- ./w3af_console 命令行界面 (./w3af_gui图形界面)
注意1:
如果输入以下命令:pip install pyyaml==3.12报错,那你的版本可能比3.12高,所以需要降级。
但是使用pip uninstall pyyaml会报错,由于PyYAML的依赖过多,不能清晰地删除,所以我们执行以下命令:
sudo pip install pyyaml==3.12 --ignore-installed nibabel
注意2:
提示no module named webkit,我们要安装webkit
(1)下载webkit以及依赖
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/w/webkitgtk/libwebkitgtk-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
(2)安装依赖和软件包
dpkg -i libjavascriptcoregtk-1.0-0_2.4.11-3_amd64.deb
dpkg -i python-support_1.0.15_all.deb
dpkg -i libwebkitgtk-1.0-0_2.4.11-3_amd64.deb
dpkg -i python-webkit_1.1.8-3_amd64.deb
(3)修复依赖
apt-get -f install -y
注意3:
出现这种情况==》》libjavascriptcoregtk-1.0-0:amd64 依赖于 libicu57 (>= 57.1-1~);然而:未安装软件包 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
注意4:
未安装软件包 libpango1.0-0
apt-get install libpango1.0-0
apt --fix-broken install
使用
1 升级
git pull
2 创建图形化界面的快捷方式
(1)进入桌面:cd /桌面
(2)创建w3af.desktop:vi w3af.desktop (然后退出)
(3)右键w3af.desktop,选择“用文本编辑器打开”
(4)输入以下内容
[Desktop Entry]
Type=Application
Name=w3af
Encoding=UTF-8
Exec=sh -c "/root/w3af/w3af_gui"
Icon=/root/w3af/w3af.png
Terminal=false
Categories=w3af
#直接粘贴复制就行
#注意:Exec=sh -c "/root/w3af/w3af_gui"、Icon=/root/w3af/w3af.png与自己的目录相对应
补充:
(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文件在应用程序浏览器或在文件浏览器中所显示的图标。
6)Terminal(选填):布尔类型,该关键字只有在Type=Application时才有意义。其数值指出了是否需要在终端窗口中运行。
(7)Comment(选填):该数值是对当前Desktop Entry的简单描述。
(8)Categories(选填):该数值指出了相关应用程序在菜单中显示的类别。只有在Type=Application时才有意义。
(5)赋予权限
chmod +x w3af.desktop
(6)若你的快捷方式还是不能运行,则点击下图所示的“Allow Launching”。
3 基本使用
命令行使用方法:
以下内容来自于:https://www.freebuf.com/column/146469.html
一、九大插件
1.Crawl(爬取)类
职责:通过爬取网站站点来获得新的URL地址。
如果用户启用了Crawl类型的多个插件,此时将产生一个循环: A插件在第一次运行时发现了一个新的url,w3af会将其发送到插件B。如果插件B发现一个新的url则会发送到插件A。这个过程持续进行直到所有插件都已运行且无法找到更多的新信息。
2.Audit(审计)类
该类插件会向Crawl插件爬取出的注入点发送特制的POC数据以确认漏洞是否存在。
3.Attack(攻击)类
如果Audit插件发现了漏洞,Attack将会进行攻击和利用,通常会在远程服务器上返回一个shell或者比如SQL注入则会获取数据库的数据。
4.Infrastructure(基础)插件
这类插件用来标识有关目标系统的信息,如安装的WAF,操作系统和HTTP守护进程等。
5.Grep(检索)插件
这类插件会分析其他插件发送的HTTP请求和相应并识别漏洞。
6.Output(输出)插件
这类插件会将插件的数据保存到文本,xml或者是html文件中。调试的信息也会发送到输出Output插件并可保存和分析。
如果启用了text_file和xml_file这两个Output插件,则这两个都会记录有Audit插件发现的任何漏洞。
7.Mangle插件
允许修改基于正则表达式的请求和响应。
8.Broutforce插件
在爬去阶段进行暴力登陆。
9.Evasion(绕过)插件
通过修改由其他插件生成的HTTP请求来绕过简单的入侵检测规则。
二、开始使用
$ ./w3af_console
w3af>>>
通过”help“命令查看帮助信息,“help”命令可以带一个参数,如果参数有效,则会显示该参数命令的详细帮助信息。
所有的插件配置菜单都提供了以下命令:
help:获得每个配置参数的详细帮助
view:列出所有可配置参数及其值和说明
set:用于更改值
back:返回上一个菜单,也可以使用Ctrl+C
三、插件配置
除了攻击插件之外,所有插件都可以使用plugins这个配置菜单进行配置。
下面是列出Audit(审计)类型的所有插件:
假设要启用xss和sqli插件,需要用到以下命令:
我们可以在audit中看到Status为Enabled。
如果带上desc命令,还会显示这个插件的详细信息。
查看xss插件的配置菜单。
在配置菜单可以使用view列出配置参数和值说明也可以使用set进行修改,如修改True为false:
保存配置:
配置好了插件和框架配置就可以将配置保存在配置文件中。
四、开始扫描
配置插件——常规扫描的话,我们建议使用以下的配置运行w3af:
crawl类插件使用web_spider插件
audit 类插件设置成Enable all
grep类插件设置成Enable all
配置命令如下:
插件状态:
输出扫描报告——output
不设置默认只会在console上输出扫描信息。
一般我们再加上输出csv_file(表格)和html_fiel(网页)两种格式的扫描报告。
扫描报告默认会保存在/root目录下,你可以使用out config命令去设置。
保存配置——profiles
设置目标,开始扫描——target,start
这边使用Web For Pentester作为漏洞靶场例子。
w3af>>> target
w3af/config:target>>> set target http://ip/
w3af/config:target>>> back
w3af>>> start
安全学习交流群:687398569