实验目的

利用w3af爬虫插件探测出目标网站的目录结构。

实验原理

1) W3AF是一个web应用安全的攻击、审计平台,通过增加插件来对功能进行扩展。这是一款用python写的工具,可以查看所有源代码。支持GUI,也支持命令行模式。 2) 本框架拥有三种类型的插件:漏洞挖掘(discovery)、漏洞分析(audit)和漏洞攻击(attack)。漏洞挖掘插件只负责一件事情:搜寻新的URL、表单和其它注入点(injection points)。Web spider便是一个经典的漏洞挖掘插件。这个插件以一个URL为输入,然后得到一个或多个注入点。当用户使用多个这种类型的插件时,这些插件会运行这样的循环:如果插件A在第一次运行时发现了一个新的URL,w3af内核将这个URL传递给插件B。如果插件B发现了一个新的URL,它也将被发送给插件A。这个过程将一直持续下去,所有的插件都将运行工作,占用应用资源,直到无法运行漏洞挖掘应用。漏洞分析插件则获取那些有漏洞挖掘插件找到的注入点,为了发现漏洞,漏洞分析插件会向所有可注入点发送特别设计的数据。例如使用一个漏洞分析插件来获取SQL注入的漏洞。漏洞攻击插件的作用是利用分析插件发现的漏洞。它们通常会得到一个远程服务器的shell,或者一个利用SQL注入漏洞获取的远程数据库表。

实验内容

w3af爬虫插件探测出目标网站的目录结构

实验环境描述

攻击机Kali操作系统 用户名密码为:root toor

靶机

用户名密码为:msfadmin msfadmin

实验步骤

一、启动w3af软件 1.1 单击桌面空白处,右键菜单选择“在终端中打开”。如图1所示

1.2 在终端中输入命令“w3af_console”,启动控制台。W3af有两种用户界面:控制台界面和图形界面。如图2所示

1.3 在终端中输入命令“help”,显示可用的命令参数。如图3所示

1.4 对命令参数的详细帮助可以使用help命令显示出来,例如help start。如图4所示

1.5 进入到配置菜单后,输入某个菜单即可切换到此菜单模式下,所有配置菜单均提供以下命令:help、view、set、back。这里选择target菜单。如图5所示

1.6 “view”命令用来列出所有可配置参数,set命令用来改变一个值,back命令返回上一层菜单。可以使用help参数名称,获取每一个配置参数的详细的帮助。如图6所示

二、探测目标网站结构

2.1 在终端中输入命令“w3af_console”,启动w3af。如图7所示

2.2 启动插件。如图8所示

2.3 启用find_backdoors、phpinfo和web_spider这三个插件。如图9所示

2.4 列出所有用于漏洞的插件。如图10所示

2.5 启用blind_sqli、file_upload、os_commanding、sqli和xss这五个插件。如图11所示

2.6 设置输出插件。如图12所示

2.7 设置输出信息的存储文件。如图13所示

2.8 查看存储设置参数。如图14所示

2.9 设置目标地址参数。如图15所示

2.10 开始攻击。如图16所示

Web应用程序攻击和检查框架w3af的更多相关文章

  1. 构建 iOS 风格移动 Web 应用程序的8款开发框架

    使用 HTML5,CSS3 和 JavaScript 开发移动应用经过实践证明是一种可行的方式.这里收录了几款 iOS 风格的手机应用程序开发框架,帮助您使用擅长的 Web 技术来开发移动应用程序.这 ...

  2. ASP.NET Web API 2系列(一):初识Web API及手动搭建基本框架

    1.导言 随着Web技术的发展,现在各种框架,前端的,后端的,数不胜数.全栈工程师的压力越来越大. PC端,pad端,移动端App(安卓/IOS)的发展,使得前后端一体的开发模式十分笨重.因此,前后端 ...

  3. web应用程序安全攻防---sql注入和xss跨站脚本攻击

    kali视频学习请看 http://www.cnblogs.com/lidong20179210/p/8909569.html 博文主要内容包括两种常见的web攻击 sql注入 XSS跨站脚本攻击 代 ...

  4. cordova 一个将web应用程序封装成app的框架

    cordova的详细介绍请参考这个链接:http://www.zhoujingen.cn/blog/7034.html 我接下来主要将如何搭建. 1.首先你需要下载几样东西 1.jdk. 2.andr ...

  5. jQuery Mobile 是创建移动 web 应用程序的框架。

    jQuery Mobile jQuery Mobile 是创建移动 web 应用程序的框架. jQuery Mobile 适用于所有流行的智能手机和平板电脑. jQuery Mobile 使用 HTM ...

  6. Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架

    Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的. 历史 Bootstrap 是由 Twitter 的 ...

  7. 【jframe】Java Web应用程序框架 - 第01篇:Get Started

    jframe是什么? jframe是一个基于MIT协议开源的java web应用程序框架,汇聚了我们团队之于java web应用程序的核心架构思想以及大量最佳实践,并且持续在实际项目中不断完善优化. ...

  8. 如果你不知道这11款常见的Web应用程序框架 就说明你out了

    本文推荐了11款常见的Web应用程序框架,并列出了相关的学习资料和下载文档.如果对这些项目还不熟悉,就赶紧学起来吧~ Rails Rails是Ruby on Rails的简称,是一款开源的Web应用框 ...

  9. Azure Front Door(三)启用 Web Application Firewall (WAF) 保护Web 应用程序,拒绝恶意攻击

    一,引言 上一篇我们利用 Azure Front Door 为后端 VM 部署提供流量的负载均衡.因为是演示实例,也没有实际的后端实例代码,只有一个 "Index.html" 的静 ...

随机推荐

  1. 《剑指offer》面试题11. 旋转数组的最小数字

    问题描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的 ...

  2. 【reverse】逆向7 堆栈图

    [reverse]逆向7 堆栈图 前言 本章就是开始画堆栈图来打基础拉,堆栈熟悉了之后就可以开始C语言的逆向了. 这一章使用的exe文件,我已经上传到了我的个人网盘中,点击下载 1.准备工作 先看这张 ...

  3. 用Win +R运行快速启动各种程序

    许多人认为Windows的Win+R运行就是摆设,除了开cmd和shutdown外毫无用处.其实Win+R是可以用于各种快捷启动的. Win+R可以视作执行一条cmd命令,要用他运行程序,理论上必须输 ...

  4. ServletContext类介绍(对象的作用及演示、像map一样存取数据)

    什么是ServletContext类 1,什么是 ServletContext 1)ServletContext 是一个接口,它表示Servlet上下文对象 2)一个web工程,只有一个Servlet ...

  5. java输入年份和月份,输出天数

    import java.util.*; public class Demo { public static void main(String[] args){ int days = 0; Scanne ...

  6. .Net Api 之如何使用Elasticsearch存储文档

    .Net Api 之如何使用Elasticsearch存储文档 什么是Elasticsearch? Elasticsearch 是一个分布式.高扩展.高实时的搜索与数据分析引擎.它能很方便的使大量数据 ...

  7. VS Code拓展--Language Support for Java(TM) by Red Hat(1.3.0)

    Language Support for Java(TM) by Red Hat(1.3.0) 注意:版本问题,可能会有部分出入 功能目录 设置 java.home 作用: 指定用于启动 Java 语 ...

  8. js 利用||和&&赋值小技巧

    感谢原文作者:nayi_224 原文链接:https://blog.csdn.net/nayi_224/article/details/80437329 对于需要返回boolean类型数值的地方,比如 ...

  9. CentOs7.6配置邮件服务并发送邮件

    1.使用Yum 来安装依赖包 yum -y install sendmail yum -y install mailx 2.获取授权码 下面以腾讯为例 https://service.mail.qq. ...

  10. docker简介及安装(1)

    Docker简介 软件开发中最为麻烦的事情可能就是配置环境了.由于用户使用的操作系统具有多样性,即便使用跨平台的开发语言(如Java和Python)都不能保证代码能够在各种平台下都可以正常的运转,而且 ...