w3af的使用(w3af_console / 命令行模式)
打开方式
$ cd w3af/
$ ./w3af_console通用命令
所有情况下
| 命令 | 说明 |
|---|---|
| help | 查看当前可用命令 |
| back | 返回上一级 |
| exit | 退出w3af |
配置模式下
| 命令 | 说明 |
|---|---|
| view | 查看设置项 |
| set | 设置设置项值 |
w3af 主目录
查看主目录
w3af>>> help #输入help查看
|-----------------------------------|
| start | 开始扫描 |
| plugins | 启用和配置插件 |
| exploit | 漏洞利用 |
| profiles | 使用或保存配置文件 |
| cleanup | 不懂是清理什么鬼 |
|-----------------------------------|
| version | 查看版本信息 |
| keys | 查看快捷键 |
|------------------------------------|
| http-settings | HTTP配置 |
| misc-settings | 杂项配置 |
| target | 目标 |
|-- ---------------------------------|
| kb | 查看已知漏洞信息 |
|------------------------------------|
作选择
w3af>>> start
w3af>>> plugins
# 即选择哪个就输入哪个的名字
插件
进入插件目录
w3af>>> plugins
列出插件组
w3af/plugins>>> help
| 插件组 | 说明 | 详细 |
|---|---|---|
| grep | 检索 | 检索页面是否存在漏洞 |
| mangle | 编辑 | 基于正则表达式编辑web请求和响应 |
| crawl | 爬行 | 爬取网站获得新的URL |
| auth | 认证 | 爬行时自动登录 |
| audit | 审计 | 向站点发送特定数据以发现漏洞 |
| bruteforce | 暴力 | 尝试暴力登录 |
| output | 输出 | 生成报告 |
| infrastructure | 基础构造 | 识别目标系统信息,如:操作系统类型、是否安装WAF之类 |
| evasion | 逃避 | 通过某些手段躲避服务器对攻击的识别 |
列出插件组内插件
命令格式
list 插件组 [enabled | disabled]
实例
w3af/plugins>>> list audit #列出所有插件
w3af/plugins>>> list audit enabled #列出已启用的插件
w3af/plugins>>> list audit disabled #列出未启用的插件
|-----------------------------------------------|
| Plugin name | Status | Conf | Description |
|------------------------------------------ ----|
| sqli | Enabled | Yes |This plugin is略|
|------------------------------------------- ---|
| 略略略 | 略 | 略 | 略略略略略略 |
|---------------------------------------- ------|
# Plugin name:插件名称
# Status:状态(是否已启用)
# Conf:是否可配置
# Description:说明
配置插件
命令格式
插件组 [config | desc] (插件名 | all)
实例
w3af/plugins>>> audit sqli #启用audit的sqli插件
w3af/plugins>>> audit all #启用audit的所有插件
w3af/plugins>>> audit desc sqli #查看audit的sqli插件的详细信息
w3af/plugins>>> audit config sqli #进入audit的sqli插件的配置模式
漏洞利用
进入漏洞利用目录
w3af>>> exploit列出插件
w3af/exploit>>> list
插件帮助
w3af/exploit>>> help <plugin_name>
设置插件参数(如果需要)
w3af/exploit>>> set <parameter_name> <value>
运行插件
w3af/exploit>>> run <plugin_name>
Cookie
设置Cookie
w3af>>> http-settings
w3af/config:http-settings>>> set cookie_jar_file /home/evans/cookie
Cookie
由于w3af使用Python编写,所以继承了Python中FileCookieJar库对Cookie文件格式严格的特性。 w3af使用的是MozillaCookieJar。
# Netscape HTTP Cookie File
.example.com FALSE / FALSE 1577808000 USERID abcdefgh12345678
192.168.1.100 TRUE / TRUE 1893427200 PHPSESSID d61ac92a74506a9c4383b7e61f53badb
| 项 | 说明 | 备注 |
|---|---|---|
| 头 | 必填,不填不认 | 固定是# Netscape HTTP Cookie File |
| 第一项 | 可使用该Cookie的域名或IP | .example.com(开头有个点)指其所有子域名和它自己 |
| 第二项 | 是否是所有机器都可以访问 | TRUE / FALSE,如果标为TRUE则域名前必须有点 |
| 第三项 | 可使用该Cookie的域内路径 | - |
| 第四项 | 是否需要与域的安全连接来才能访问Cookie | TRUE / FALSE |
| 第五项 | Cookie到期时的时间戳 | 从UNIX时间(1970.1.1 00:00:00 GMT)到现行时间的秒数 |
| 第六项 | Cookie 变量名 | - |
| 第七项 | Cookie 变量值 | - |
实战
准备工作
创建文件,名为cookie(任取),内容如下:
# Netscape HTTP Cookie File
192.168.1.109 FALSE /dvwa FALSE 1893427200 security low
192.168.1.109 FALSE / FALSE 1893427200 PHPSESSID 481d69aa037007d820c3200ac6b738b2
主动扫描
w3af>>> plugins
# 进入插件目录
w3af/plugins>>> help
# 查看帮助(列出插件组)
w3af/plugins>>> grep all
# 启用grep插件组的所有插件
w3af/plugins>>> audit all
# 启用audit插件组的所有插件
w3af/plugins>>> crawl
# 查看crawl插件组内的插件
w3af/plugins>>> crawl web_spider
# 启用crawl插件组内的web_spider插件
w3af/plugins>>> crawl config web_spider
# 进入web_spider的配置模式
w3af/plugins/crawl/config:web_spider>>> view
# 查看配置项
w3af/plugins/crawl/config:web_spider>>> set only_forward true
# 设置配置项
# 意思是若目标url为http://a.com/123,那么即使其页面里有http://a.com/456的链接也不会去爬取,只会爬取123目录下的网页。
w3af/plugins/crawl/config:web_spider>>> set ignore_regex logout\.php
# 设置忽略爬取的页面(防止退出登录)(使用正则表达式)
w3af/plugins/crawl/config:web_spider>>> back
# 返回上一级
w3af/plugins>>> output
# 查看output插件组内的插件
w3af/plugins>>> output html_file
# 启用output插件组内的html_file插件
w3af/plugins>>> output config html_file
# 进入该插件的配置模式
w3af/plugins/output/config:html_file>>> view
# 查看配置项
w3af/plugins/output/config:html_file>>> set output_file /home/evans/report_dvwa.html
# 设置配置项(文件输出路径)
w3af/plugins/output/config:html_file>>> back
# 返回上一级
w3af/plugins>>> back
# 返回上一级
w3af>>> http-settings
# 进入HTTP设置
w3af/config:http-settings>>> view
# 查看配置项
w3af/config:http-settings>>> set cookie_jar_file /home/evans/cookie
# 设置Cookie
w3af/config:http-settings>>> back
# 返回上一级
w3af>>> target
# 进入目标设置
w3af/config:target>>> view
# 查看设置项
w3af/config:target>>> set target http://192.168.1.109/dvwa
# 设置目标
w3af/config:target>>> back
# 返回上一级
w3af>>> profiles
# 进入配置文件模式
w3af/profiles>>> save_as dvwa
# 另存为,以被下次使用,不另存为也行
w3af/profiles>>> back
# 返回上一级
w3af>>> start
# 开始扫描
被动扫描(使用代理手动爬站)
被动扫描大体跟主动扫描相同,只不过是通过被代理的浏览器获取url,这样想爬哪里都可以控制。 所以被动扫描就不用启用web_spider插件,而是启用spider_man。
............
w3af/plugins>>> crawl spider_man
w3af/plugins>>> crawl config spider_man
w3af/plugins/crawl/config:spider_man>>> view
w3af/plugins/crawl/config:spider_man>>> set listen_address 127.0.0.1
w3af/plugins/crawl/config:spider_man>>> set listen_port 8888
............