渗透测试工具——漏洞扫描工具

article/2025/9/30 15:05:23

安全漏洞产生的原因

技术原因

  • 软件系统复杂性提高,质量难于控制,安全性降低
  • 公用模块的使用引发了安全问题

经济原因

  • “柠檬市场”效应——安全功能是最容易删减的部分

环境原因

  • 从传统的封闭、静态和可控变为开放、动态和难控
  • 攻易守难

安全缺陷

  • 安全性缺陷是信息系统或产品自身“与生俱来”的特征,是其“固有成分”

安全漏洞是与生俱来的

系统设计缺陷

  • Internet从设计时就缺乏安全的总体架构和设计
  • TCP/IP中的三阶段握手.

软件源代码的急剧膨胀

  • Windows 95 1500万行,Windows 98 1800万行
  • Windows XP 3500万行,Windows Vista 5000万行
  • Windows 7 5000万至 7000万
  • Linux 内核200万行

软件实现的缺陷
微软开发人员的单体测试缺陷从超过25个缺陷/千行代码显著降低到7个缺陷/千行代码

安全漏洞的生命周期

 在安全漏洞生命周期内,从安全漏洞被发现到厂商发布补丁程序用于修补该漏洞之前,安全社区普遍称为“0day

  1. 安全漏洞研究与挖掘:由高技术水平的黑客与渗透测试师开展,主要利用源代码审计(白盒测试)、逆向工程 (灰盒测试)、Fuzz测试(黑盒测试)等方法,挖掘出目标系统中存在的可被利用的安全漏洞。
  2. 渗透代码开发与测试:在安全漏洞挖掘的同时,黑客们会开发概念验证性的渗透攻击代码(POC) ,用于验证找到的安全漏洞是否确实存在,并确认其是否可被利用。
  3. 安全漏洞和渗透代码限于封闭团队:在发现安全漏洞并给出渗透攻击代码后,“白帽子” 采用的处理策略是首先通知厂商进行修补,而在厂商给出补丁后再进行公布;而“黑帽子”一般在封闭小规模团队中进行秘密地共享,以充分利用这些安全漏洞和渗透攻击代码所带来的攻击价值。
  4. 安全漏洞和渗透代码开始扩散:由于各种原因,在封闭团队中秘密共享的安全漏洞和渗透代码最终会被披露出来,在互联网上得以公布,“黑帽子”会快速对其进行掌握和应用,并在安全社区中开始快速扩散。
  5. 恶意程序出现并开始传播: " 黑帽子”们将在掌握安全漏洞和渗透代码基础上,进一步开发更易使用、更具自动化传播能力的恶意程序,并通过黑客社区组织结构和互联网进行传播。在此过程中,厂商完成补丁程序开发和测试,并进行发布。
  6. 恶意程序大规模传播并危害互联网:厂商发布补丁程序和安全预警将更进一步的让整个黑客社区了解出现新的安全漏洞和相应的渗透代码、恶意程序,更多的“黑帽子”们将从互联网或社区关系网获得并使用这些恶意程序,对互联网的危害也达到顶峰。
  7. 渗透攻击代码、攻击工具、恶意程序逐渐消亡:在厂商补丁程序、安全公司提供的检测和移除机制得到广泛应用后,相应的渗透代码、恶意程序将被“黑帽子”们逐渐抛弃,从而慢慢的消亡。

CVE

公共漏洞和暴露
特点:

  • 为每个漏洞和暴露确定了唯一-的名称 .
  • 给每个漏洞和暴露一个标准化的描述
  • 不是一一个数据库,而是- -个字典
  • 任何完全迥异的漏洞库都可以用同一个语言表述,可以使得安全事件报告更好地被理解,实现更好的协同工作
  • 可以成为评价相应工具和数据库的基准
  • 非常容易从互联网查询和下载
  • 通过"CVE编辑部”体现业界的认可

 CVSS

通用漏洞评分系统 :

  • 一个行业公开标准,其被设计用来评测漏洞的严重程度,并帮助确定所需反应的紧急度和重要度。利用该标准,可以对弱点进行评分,进而帮助我们判断修复不同弱点的优先等级。
  • CVSS是安全内容自动化协议 (SCAP) 的一部分,通常CVSS同CVE一同由美国国家漏洞库(NVD) 发布,由美国国家基础建设咨询委员会(NIAC) 委托制作,是一套公开的评测标准,经常被用来评比企业资讯科技系统的安全性,并受到eBay、Symantec、Cisco、 Oracle等众多厂商支援。

CVSS得分:最大为10,最小为0

  • 得分7~10的漏洞通常被认为比较严重
  • 得分在4~6.9之间的是中级漏洞
  • 0~ 3.9的则是低级漏洞

CVSS包含的要素

  • 基本评估指标:代表长期存在的本质的、基本的脆弱性,这种脆弱性不会随时间和用户环境改变。
  • 时效性评估指标:随时间改变但不随用户环境改变的脆弱性。
  • 环境评估指标:代表和用户环境直接相关的脆弱性。

 漏洞与补丁

安装补丁是漏洞消减的技术手段之一

  • 及时安装有效补丁可避免约95%的信息安全损失
  • 专门用于修复漏洞的软件补丁一般称为安全补 丁

补丁安装中需要注意的问题

  • 可靠来源
  • 补丁测试
  • 备份及应急措施

虚拟补丁

  • 虚拟补丁技术是通过控制所保护系统的输入输出,防止对系统的漏洞攻击行为的技术。
  • 虚拟补丁是一种基于主机的安全功能,在未对漏洞进行永久补丁修复之前,其工作原理不是修改可执行程序,而是针对网络数据流的深层分析,检测入站流量并保护应用程序免受攻击。
  • 虚拟补J技术较早的使用是在Web应用系统上,较早提出这个概念的是趋势科技,近来绿盟也加入了这个领域,也是在Web上。数据库的虚拟补J是近几年的防御技术,较早提出的是Mcaffee,国内数据库安全厂商安华金和也是这方面的佼佼者。

AWVS原理与使用

AWVS简介

  • AWVS是一-款知名的Web网络漏洞扫描工具,可以用来测试网站、Web应用程序及接口的安全性。
  • AWVS能够 检测7000种以上的Web安全漏洞,包括SQL注入、XSS、 配置不当、弱密码等常见类型。

 AWVS使用示例

步骤1:在攻击机上启动AWVS

步骤2:定义扫描目标:点击左侧菜单“Target” —>“Add Target”,添加靶机的IP地址,将其作为扫描目标。

 步骤3:创建扫描任务

点击左侧菜单“Scans”,再点击“New Scan”按钮,创建一个扫描任务。

然后选择扫描目标

 设定扫描参数

 执行扫描任务

 生成扫描报告

 Nikto简介

  • Nikto是一款基于Perl语言开发的开源Web扫描评估软件,可以对Web服务器进行多项安全测试,能在230多种服务器上扫描出2600多种有潜在危险的文件、CGI及其他问题。
  • Nikto'可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的HTTP模式等。

 

 Nikto常用命令

命令功能
-h打开帮助
-host扫描目标Url
-idhttp认证接口
-list-plugins列出所有可用的插件
-evasionIDS/IPS逃避技术(实例演示里有详细信息)
-port指定端口(默认80)
-ssl指定端口(默认80)
-useproxy使用HTTP代理
-vhost当一个IP拥有多个网站时使用
-update更新程序
-outfile以文件形式输出扫描结果
-Format规定输出文件的格式
-Version显示插件和数据库的版本号

Nikto使用实例——常规扫描

nikto -host https://192.168.1.5 

 Nikto使用实例——指定目录扫描

nikto -host https://192.168.1.5 -c /dvwa

 Nikro使用实例——扫描HTTPS网站

nikto -host www.baidu.com -ssl -port 443

 Nikto使用实例——扫描结果输出

nikto -host http://192.168.1.5 -o 1.html -F htm 

OWASP ZAP

OWASP ZAP (OWASP Zed Attack Proxy,OWASP攻击代理服务器)是世界上最受欢迎的免费安全工具之一。ZAP可以帮助我们在开发和测试应用程序过程中自动发现 Web应用程序中的安全漏洞。另外,它也是一款提供给具备丰富经验的渗透测试人员进行人工安全测试的优秀工具。

 OWASP ZAP工作原理

ZAP以架设代理的形式来实现渗透性测试。它将自己置于用户浏览器和服务器中间,充当一个中间人的角色,浏览器与服务器的所有交互都要经过ZAP,这样ZAP就可以获得所有交互的信息,并且可以对它们进行分析、扫描,甚至是改包再发送。

OWASP ZAP主要功能

  • 本地代理
  • 主动扫描
  • 被动扫描
  • Fuzzy
  • 暴力破解

 OWASP ZAP的使用

  • 初次打开ZAP时,会看到以下对话框,询问是否要保持ZAP进程。
  • 保存进程则可以让所有操作得到保留,下次只要打开历史进程就可以取到之前扫描过的站点以及测试结果等。一般来说,如果对固定的产品做定期扫描,应该保存一个进程做为长期使用,选第一或者第二个选项都可以。
  • 如果只是想先简单尝试ZAP功能,可以选择第三个选项,那么当前进程暂时不会被保存。

 

 OWASP ZAP 使用实例——代理抓包

步骤1:设置ZAP的代理参数

 步骤2:设置浏览器(Firefox)的代理参数

步骤3: 访问目标网站,ZAP自动抓包

 OWASP ZAP使用实例——快速扫描

  OWASP ZAP使用实例——模糊测试

步骤1:浏览器访问DVWA网站,将其安全级别设置为Low,然后进入SQL Injection训练模块,在User ID处填入1,并点击Submit按钮,查看ZAP是否抓到HTTP报文。

 步骤2:在ZAP界面选中刚刚抓到的HTTP报文,点击鼠标右键,在弹出的菜单中选择“攻击”- >“Fuzz”

 步骤3:选中需要Fuzz测试的位置,点击右侧“Add”按钮,在出现的Payloads”对话框中继续点击“Add”按钮,在弹出的Add Payload对话框中,“类型”选择“File Fuzzers",将列表中的"jbrofuzz"->injection"文件添加进去。

 

 步骤4:执行Fuzz测试


http://chatgpt.dhexx.cn/article/IqxIFNsC.shtml

相关文章

C#在Panel控件中添加另外一个窗体

一,新建窗体如下 二、定义并设置窗体 在新的窗体中定义 Form_Config formConfig new Form_Config(); 设置窗体的属性   formConfig.Dock DockStyle.Fill;   formConfig.TopLevel false;   formConfig.FormBorderStyle System.Windows.Forms.FormBorderSty…

重绘panel控件,实现panel的阴影效果

最近想在项目中添加一个要有阴影的panel控件,找了好多资料,最后通过采用图片的方式实现了panel的阴影效果,效果图如下: 重绘代码如下: 1 using System;2 using System.Collections.Generic;3 using System.ComponentMo…

C# 使用Panel控件实现窗体嵌套

一、准备步骤: 1. 创建一个Windows应用程序 2. 把默认窗口的名字为Form1(如上图) 3. 创建一个Windows窗体,为Form2(如上图) 4. 在Form1窗口中增加一个按钮button,然后增加一个Panel,双击按钮在按钮里面写事件(如下…

asp.net panel 加html,ASP.NET中 Panel 控件的使用方法

Panel 控件在 ASP.NET 网页中提供一种容器控件,可以将它用作静态文本和其他控件的父控件。 一、常见 Panel 属性 属性 描述 HorizontalAlign 指定子控件在面板内的对齐方式(左对齐、右对齐、居中或两端对齐)。 Wrap 指定面板内过宽的内容是要换到下一行,…

C#当中如何使用Panel控件显示其它窗体

【效果图】 要实现点击左边不同的功能时,在右面pannel控件中显示对应的窗体 【代码】 窗体是一个顶级控件,要想将其显示在panel控件中,要将窗体设置为非顶级控件 form.TopLevel false; 下面是一个将窗体显示在Panel控件中的方法 this.pa…

panel中html怎么写,panel控件有什么用 请写出Panel控件的用途

当多个panel控件重叠时,把一个panel的visible/设置为true,其它的设置为f例如有3个panel,分别为panel1,panel2,panel3 如果重叠的话,把他们的大小设置为相同大小,直接通过上下层来控制即可,例如想要panel2显示出来,就用 panel2.BringToFront; 要是想panel1显示则用panel1.B…

多个panel控件重合使用时,某个panel控件不显示问题?

前言 在设计一个界面时,为了节省空间,我将控件分类后分别放到了三个重合放置的Panel中,并添加三个了按钮作为调出对应Panel的媒介,如图1-1所示。 图1-1 简化效果图 按钮的调用代码如下: private void btnOne_Click(o…

C#中Panel控件的使用

大家在创建winform的时候,是不是很多时候都需要建立父窗体,然后再父窗体基础上添加子窗体,然后再单击事件的时候还有可能弹出好多的窗口,今天给大家带来有关panel控件福利。 Panel控件相当于在我们主窗体中添加了一个容器&#xf…

机房重构-panel控件

第一种用法: 以前实现这些需要用属性Enabled为False。 其实VS中自带了一个panel控件可以实现这个。 把text控件放到panel上,在修改按钮这里写入下面代码,就可以使panel上所有控件可修改。 private void btnModify_Click(object sender, Ev…

C# panel控件的移动与扩大

开发环境: 基于 VS2019 基于C#语言 解决问题 C# panel控件的移动与扩大 结果展示 4、源代码下载链接:

Panel控件—让你的界面变好看

panel控件对于美化UI窗体有很大的作用,这不,我们在机房合作的时候就使用了panel控件。使用了panel控件之后,减少了弹出窗体的次数,因为窗体都放在了panel控件中显示出来了。下面来看看一成品图。 今天就来教大家如何使用panel控件…

jsonp 详解

JSONP(JSON with Padding)是JSON的一种“使用模式”&#xff0c;可用于解决主流浏览器的跨域数据访问的问题。由于同源策略&#xff0c;一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通&#xff0c;而 HTML 的<script> 元素是一个例…

VUE2.0之Jsonp的使用方法(前端)

本文主要介绍的是在VUE2.0Jsonp的使用方法,通过github引入jsonp和promise封装,实现跨域获取数据。 1.JSONP的用途和原理 使用JSONP主要是目的通过动态创建Script,动态拼接url,进而抓取数据,实现跨域。确切地说,AJAX请求由于同源影响,是不允许进行跨域请求的,而Script标…

JSONP跨域的原理

目录 JSONP跨域原理演示JSONP跨域注意事项JSONP实践jQuery发送JSONP请求 JSONP&#xff08;JSON With Padding&#xff09;是利用script标签的跨域功能&#xff0c;比如script和img的src属性&#xff0c;link的href属性&#xff0c;它只支持get请求。 JSONP跨域原理演示 把外部…

java~jsonp的使用

对于一个后端程序来发&#xff0c;它可能会被多个应用调用&#xff0c;而跨域的问题就来了&#xff0c;使用jsonp来解决这个问题是个不错的方式&#xff0c;下面说一下关于jsonp的知识 JSONP不是新技术&#xff0c;只是在页面上响应一段js对于响应的 MIME type (‘text/plain’…

轻松搞定JSONP跨域请求

一、同源策略 要理解跨域&#xff0c;先要了解一下“同源策略”。所谓同源是指&#xff0c;域名&#xff0c;协议&#xff0c;端口相同。所谓“同源策略“&#xff0c;简单的说就是基于安全考虑&#xff0c;当前域不能访问其他域的东西。 一些常见的是否同源示例可参照下表&a…

jsonp

jsonp 我们知道&#xff0c;普通的ajax请求存在跨域无权限访问的问题&#xff0c;这是浏览器的安全策略在起作用 index.php: <?php $info {"code" : 10,"title" : "jsonp","name" : "rgy"};echo $info; ?> test.h…

什么是JSONP及其实现原理

一、为什么会有JSONP 解决跨域问题&#xff1b;因为XMLHttpRequest有同源策略&#xff0c;而在实际开发中又常有跨域的需求&#xff0c;早期开发者为解决跨域问题&#xff0c;设计出了JSONP这个东西 二、JSONP长什么样 类似JSON&#xff0c;一种JSON的变体&#xff0c;样式就…

Ajax中的JSONP

同源策略和跨域的概念 什么是同源 如果两个页面的协议&#xff0c;域名和端口都相同&#xff0c;则两个页面具有相同的源。 什么是同源策略 同源策略(英文全称Same origin policy)是浏览器提供的一个安全功能。 MDN官方给定的概念:同源策略限制了从同一个源加载的文档或脚本如…

JSONP解决跨域问题

一、什么是同源 概念&#xff1a;如果两个页面的协议、域名和端口都相同&#xff0c;则这两个页面具有相同的源。 二、什么是同源策略 概念&#xff1a;是浏览器提供的一个安全功能。 三、什么是跨域 概念&#xff1a;同源指的是两个URL的协议、域名、端口号一致&#xff0c…