5.5 漏洞扫描:Web安全漏洞扫描及审计
目录
一、预备知识:Web漏洞的获取方法与w3af
1. 漏洞扫描
2. 漏洞扫描器
3. w3af
二、实验环境
三、实验步骤
四、实验思考
一、预备知识:Web漏洞的获取方法与w3af
1. 漏洞扫描
漏洞扫描除用于网络攻击外,还用于对网络的安全防御。系统管理员通过对网络漏洞的系统扫描,全面地了解网络的安全状态,并对发现的安全漏洞及时安装补丁程序,提升网络防范攻击的能力。
漏洞扫描技术的工作原理是基于目标对象(操作系统、网络服务、应用程序等)的特征码实现的。例如,对于同一个类型和版本号的操作系统来说,针对某一安全漏洞,对于某些网络请求的应答,安装安全补丁前后会存在一些细微的差异,这些差异便构成了针对特定安全漏洞的特征码(指纹信息)。漏洞扫描技术正是利用了这些特征码来识别目标对象是否存在特定的安全漏洞。
2. 漏洞扫描器
网络漏洞扫描器对目标系统进行漏洞检测时,首先探测目标网络中的存活主机,对存活主机进行端口扫描,确定系统已打开的端口,同时根据协议栈指纹技术识别出主机的操作系统类型。然后,扫描器对开放的端口进行网络服务类型的识别,确定其提供的网络服务。漏洞扫描器根据目标系统的操作系统平台和提供的网络服务,调用漏洞资料库(一般该资料库需要与业界标准的CVE保持兼容)中已知的各种漏洞进行逐一检测,通过对探测响应数据包的分析判断是否存在漏洞。
3. w3af
w3af( web applicaiton attack and audit framework,Web应用攻击与审计架构)是一个Web应用安全的攻击、审计平台,通过增加插件的方式来对功能进行扩展。w3af 是一款用python 写的工具,同时支持GUI和命令行模式。
w3af目前已经集成了大量的功能丰富的各类攻击和审计插件,为便于使用,对插件进行了分类,而且有些插件还提供了一个实用工具,并支持多种加解密算法。下面介绍几类典型的w3af插件。
(1)Crawl类插件。Crawl(爬取)类插件的功能是通过爬取网站站点来获得新的URL地址。如果用户启用了Crawl类的插件,将会产生一个循环操作:A插件在第一次运行时发现了一个新的URL,w3af 会将其发送到插件B;如果插件B发现了一个新的URL,则会将其发送到插件A。这个过程持续进行,直到所有插件都已运行且无法找到更多的新信息为止。
(2)Audit类插件。Audit(审计)类插件会向Crawl插件爬取出的注入点发送特制的探测信息,以确认是否存在漏洞。
(3)Attack类插件。如果Audit插件发现了漏洞,Attack(攻击)类插件将会进行攻击和漏洞利用。通常会在远程服务器上返回一个操作界面,或者进行SQL注入以获取数据库中的数据。
(4)Infrastructure类插件。Infrastructure(基础设施)类插件用来探测有关目标系统的信息,如目标系统是否安装了WAF(Web Application Firewall, Web应用程序防火墙)、目标系统运行的操作系统、目标系统上运行的HTTP守护进程等。
(5)Grep类插件。Grep(检索)类插件会分析其他插件发送的HTTP请求和应用信息,并识别存在的漏洞。
(6)Output类插件。Output(输出)类插件会将插件的数据以文本、XML或HTML形式保存,供分析使用。另外,如果启用了text_file和xml_file两个Output插件,就会记录有关Audit类插件发现的任何漏洞。
另外,Mangle类插件允许用户修改基于正则表达式的请求和响应,Broutforce类插件在爬取阶段可以对系统进行暴力登录,Evasion类插件通过修改由其他插件生成的HTTP请求来绕过简单的入侵检测规则。
二、实验环境
攻击机:BT5
靶机:windows server 2003
三、实验步骤
1、登录BT5,打开命令行,运行“cd /pentest/web/w3af”命令,切换到w3af目录下,用“ls”查看当前目录下的文件。
2、使用“./w3af_console”命令启用w3af,使用“help”命令可以查看相关的命令介绍。
3、使用“plugins”命令配置相关插件,“help”命令查看操作命令的帮助信息。
4、输入“output”命令配置output插件。
5、使用“output config htmlFile”命令,修改输出的相关参数,用“view”查看可利用的选项和值。
6、设置输出的扫描文件为testreport.html:
set verbose True
set fileName testreport.html
7、使用“back”命令返回到plugins目录下,运行“output config console” ,输入“set verbose False”后“back”,,返回到插件设置界面。
8、输入“audit”命令,显示如下图所示的漏洞类型。
9、对 htaccessMethods,osCommanding,sqli和xss进行审计操作,然后返回到主目录,命令为:
audit htaccessMethods,osCommanding,sqli,xss
back
10、使用“target”命令进入target目录。
11、设置目标地址,并返回。
12、使用“start”命令开始扫描。
四、实验思考
漏洞扫描器的组成及主要功能:
1.安全漏洞数据库
安全漏洞数据库一般与CVE(Common Vulnerabilities and Exposures,通用漏洞披露目录)保持兼容,主要包含安全漏洞的具体信息、漏洞扫描评估的脚本、安全漏洞危害评分(一般采用CVSS通用漏洞分组评价体系标准)等信息,新的安全漏洞被公开后,数据库需要及时更新。其中,CVSS(Common Vulnerability Scoring System,通用漏洞评分系统)是一个开放的并且能够被产品厂商免费采用的标准。
2.扫描引擎模块
作为漏洞扫描器的核心部件,扫描引擎模块可以根据用户在配置控制台上设定的扫描目标和扫描方法,对用来扫描网络的请求数据包进行配置与发送,并将从目标主机接收到的应答包与漏洞数据库中的漏洞特征码进行比对,以判断目标主机上是否存在这些安全漏洞。为了提高效率,扫描引擎模块一般提供了主机扫描、端口扫描、操作系统扫描、网络服务探测等功能,供具体扫描时选用。
3.用户配置控制台
用户配置控制台是供用户进行扫描设置的操作窗口,需要扫描的目标系统、检测的具体漏洞等信息都可以通过配置控制台来设置。
4.扫描进程控制模块
在针对漏洞的具体扫描过程中,攻击者不仅需要知道扫描结果,许多时候还要实时了解扫描过程中显示的内容,以便通过一些细节来获取有价值的信息。扫描进程控制模块提供了这些功能。
5.5 漏洞扫描:Web安全漏洞扫描及审计相关推荐
- php web程序漏洞,各种web程序漏洞
收集整理的各种web漏洞 struts2: Inurl:index.action Inurl:商城.action Inurl:index.action 标题:apache struts2 Inurl: ...
- java host头攻击漏洞_Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法...
检测到目标URL存在http host头攻击漏洞 详细描述 为了方便的获得网站域名,开发人员一般依赖于HTTP Host header.例如,在php里用_SERVER["HTTP_HOST ...
- Netsparker超轻量级Web安全漏洞扫描工具使用教程介绍
有特征 此工具分为收费版本和绿色版本 绿色版本也是很强大的 一 .Netsparker工具简介 Netsparker是一款综合型的web应用安全漏洞扫描工具,它分为专业版和免费版,免费版的功能也比较强 ...
- Web安全漏洞扫描神器-AWVS下载、安装及使用教程
目录 一.AWVS介绍 二.网站漏洞扫描 三.漏洞扫描结果 四.漏洞告警分析利用 五.根据漏洞信息进行验证.利用 六.网络爬虫 七.主机发现(c段探测) 八.子域名探测 九.SQL注入 十.HTTP头 ...
- 渗透测试常用WEB安全漏洞扫描工具集合
渗透测试阶段信息收集完成后,需根据所收集的信息,扫描目标站点可能存在的漏洞,包括SQL注入漏洞.跨站脚本漏洞.文件上传漏洞.文件包含漏洞及命令执行漏洞等,然后通过这些已知的漏洞,寻找目标站点存在攻击的 ...
- awvs扫描器扫描web漏洞
一.学习目的: 1.了解AWVS-web漏洞扫描工具 2.学习AWVS用法 二.介绍AWVS AWVS是一个自动化的web应用程序安全测试工具,他可以扫描任何可通过web浏览器访问的和遵循HTTP/H ...
- 十大Web网站漏洞扫描工具
1. Nikto 这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目(包括3500个潜在的危险文件/CGI,以及超过900个服务器版本,还有250 多个服务器上的版本特定问题)进行全面 ...
- 【收藏】十大Web服务器漏洞扫描工具
现在有许多消息令我们感到Web的危险性,因此,当前如何构建一个安全的Web环境成为网管员和安全管理员们义不容辞的责任.但是巧妇难为无米之炊,该选择哪些安全工具呢? 扫描程序可以在帮助造我们造就安全的W ...
- 十大Web服务器漏洞扫描工具
[收藏]十大Web服务器漏洞扫描工具 现在有许多消息令我们感到Web的危险性,因此,当前如何构建一个安全的Web环境成为网管员和安全管理员们义不容辞的责任.但是巧妇难为无米之炊,该选择哪些安全工具呢? ...
最新文章
- 一、JAVA通过JDBC连接mysql数据库(连接)
- 2013年新疆中小学教师计算机水平考试机试题(复习版),2013年新疆中小学教师计算机水平考试笔试题(复习版8套含答案)...
- 零基础学Python:函数的参数详解
- 初识Notification
- 一张壁纸就是一段故事,壁纸控的找图不难!
- 进程和线程的深入理解
- 吴恩达二月升级当爸,Jeff Dean打趣:无监督学习要开始了,需要数据集么?
- hibernate一对多自关联的记录(以树形菜单为例)
- (2)评价算法-TOPSIS算法
- SAP在阿里云白皮书-第三章 SAP上阿里云场景介绍
- Improving Opencv 2:The Core Functionality :How to scan images, lookup tables
- 数学建模——线性规划篇
- JLNews新闻点评系统--君兰IT
- ES6JS笔记以及部分运行问题记录
- (EKL)elasticsearch
- 递增有序顺序表的插入 (20分) 实验目的:1、掌握线性表的基本知识 2、深入理解、掌握并灵活运用线性表。3、熟练掌握线性表的存储结构及主要运算的实现 已知顺序表L递增有序,将X插入到线性表的适当位置
- 微信公众号开发功能大全
- 修复Adobe Flash Player
- IPv6下的DHCPv6
- bzoj1038【ZJOI2008】瞭望塔
热门文章
- php 商业源码加密保护,关于PHP源码加密保护的方式
- 基于Easy-poi实现多Sheet页以及动态表头的excel表格的导出
- 华为云GaussDB亮相DAMS峰会,分享构建开放生态与数据库国产化经验
- 关于3dsmax出现“应用程序无法正常启动0xc000007b”的解决方案
- soapUI-Groovy Script
- 我在design house的日子
- 打油诗-生活偶尔无奈
- 江西师范大学计算机考研真题,江西师范大学计算机信息工程学院数据结构与程序设计历年考研真题大全附答案.docx...
- 联想扬天V15(i5 8265U/8GB/256GB/MX110)电脑 Hackintosh 黑苹果efi引导文件
- 在软件设计前先画界面图