哪里可以找到拥有CWE漏洞的源码?

  • 漏洞扫描服务是用于网站漏洞监测的安全服务,为企业提供7×24小时准确、全面的漏洞监测服务,并为企业提供专业的修复建议, 从而避免漏洞被黑客利用,影响企业资产安全…

为什么我们需要更注重源代码安全审计?

现在大部分客户对于软件开发的安全考量基本集中在软件开发的后期,在测试阶段引入。常用的软件风险评估、漏洞扫描、渗透测试等都是在软件开发完成后进行。通常这个阶段预留的时间非常少,不仅修复的难度高,修复、测试的成本极高,而且存在大量的漏洞错报和误报的情况。后期的测试手段也无法精准地测试出代码漏洞的具体位置。当通过后期测试发现问题后,人工进行代码审查去查找漏洞所在代码位置时,我们经常会发现过程中存在效率低、准确率低、无法定位具体问题代码行等问题。而这些问题导致了客户后期发现系统漏洞时,无法进行快速、准确地修复,客户只能让系统携带漏洞上线。SCAP产品将从开发早期进行安全介入,能够快速精准地定位问题代码行,对漏洞进行实时管理,完美地解决上述问题,从源代码级别保护系统的代码安全。

海云安源代码分析管理平台(以下简称“SCAP”)是由深圳海云安网络安全技术有限公司多年源代码安全实践经验自主研发的源代码安全漏洞检查及分析管理平台。SCAP拥有领先行业的源代码检测引擎,强大的用户环境集成能力和完善的管理流程使得产品拥有强大的实用性。SCAP为开发人员提供简单、方便、精准、快速的源代码漏洞检查,极大地减少开发人员在查找、修复漏洞上花费的时间,提高安全效率。强大精准的代码检测引擎使得SCAP成为市场上现有源代码安全最强有力的工具。

SCAP拥有领先行业的源代码安全分析引擎,引擎100%自主研发,安全可控。该引擎支持C\C++、Java、JS、PHP、SQL等多种语言,覆盖代码缺陷检测、代码质量检测、开源组件检测、木马后门检测、性能缺陷、编码规范等 2000+种缺陷。引擎积累了庞大的安全漏洞检测规则库,以及源代码误报漏报过滤引擎。同时引擎结合了AI人工智能学习算法,快速积累自己的规则库和漏洞库。

2)支持对代码缺陷检测、代码质量检测、开源组件检测、木马后门检测,涵盖2000+种缺陷类型

4)支持用户自定义检测规则,来满足客户化的特定的检测需求;同时支持用户对产品的安全漏洞检测规则库进行自定义勾选,满足用户根据自身特点、或者检测目标的安全要求,定义出不同的检测标准

为了让产品更好地服务于用户,在产品设计的过程中,我们对用户的软件开发流程、开发习惯、痛点难点等方面进行了深入的调研。海云安SCAP产品支持项目全生命周期综合管理,能够提供对多个项目源代码的不同开发阶段、不同版本的测试结果报表。针对多用户、多职责、多部门的权限管理不同的情况,用户可根据自己的需求进行权限控制,便于对不同部门和不同角色的用户进行统一分配、集中管理。平台的易用性和高效全面的管理能力使得海云安SCAP成为用户的不二之选。

1)支持项目全生命周期综合管理,提供对多个项目源代码的不同开发阶段、不同版本的测试结果报表功能

2)多用户,多职责,多部门的权限管理。可根据用户需求进行权限控制,方便不同部门和不同角色的用户进行统一分配、集中管理

3)管理平台支持从本地上传代码包进行扫描检测,一键上传,自动分析

4)管理平台有详细的报表统计分析功能,能够展示各研发部门源代码安全审计情况、整改前后的对比、全局源代码审计情况等,方便整体把握源代码安全情况

1)能够对接Git,SVN等主流代码仓库。支持 Eclipse插件集成, IntelliJ插件集成, Android Studio插件集成,实现一键提交代码扫描

2)能够无缝对接第三方扫描引擎,并对测试结果以及规则等进行统一管理

3)支持用户工单对接,能够对接JIRA等工单系统,一遍一键提交扫描报告,高效跟进和落实代码漏洞整改。同时能够根据客户的工单系统需求,对接其他工单系统

SCAP以B/S架构的方式提供用户进行交互与管理,支持私有云和公有云部署,能够与Git、SVN等代码仓库集成获取代码,与Jenkins构建集成系统进行集成,系统构建时会自动化触发进行代码扫描。用户可通过检测代码版本对比进行误报自动加白名单,在审计结果输出后,可对审计结果进行导出报告,使用邮件进行报告推送,还与企业的漏洞工单进行对接,实现平台一站式审计服务。

1)业内顶尖的检测能力:涵盖代码缺陷,质量,木马后门等检测,涵盖2000+种缺陷类型

2)自主研发,安全可控:SCAP产品是海云安 100% 自主研发,具有自主知识产权,符合国家信息安全产品“自主、可控”的要求

3)强大的规则库:结合多年的服务经验以及AI人工智能算法,形成了领先业内的规则库和漏洞库

4)功能强大,灵活部署:SCAP产品拥有强大全面的检测能力,同时在易用、实用方面也广泛受用户好评。产品还可实现对软件安全开发生命周期的全面支持,方便用户使用

  如果要使用Metasploit实施渗透攻击,需要先获取目标主机的漏洞信息。用户可以借助一些漏洞扫描工具来获取目标主机的漏洞信息,然后根据漏洞所对应的攻击载荷实施渗透攻击。最常用的漏洞扫描工具包括Nessus和OpenVAS。用户还可以直接到官方网站获取一些设备或系统的漏洞信息。本章将介绍几种常用的获取漏洞信息的方法。

  …//省略部分内容//…

  从以上输出信息中可以看到,下载并更新了所有库,同时启动了所有对应的服务。而且,从最后几行信息可以看到,创建了一个管理用户admin,其密码为9d41139b-c602- 4d39-8e51-dcbe6726ba97。由于需要下载大量的库,所以以上过程需要很长时间。


  (2)用户可以通过openvasmd命令修改密码。执行命令如下:

  执行以上命令后,将不会输出任何信息。在以上命令中,--user选项指定修改密码的用户为admin,--new-password选项指定将admin用户的密码修改为password。

  OpenVAS服务监听了3个端口,分别是9390、80和9392。如果没有看到以上信息输出,说明该服务没有启动。此时,用户可以使用openvas-start命令启动该程序。命令如下:

  看到以上信息,则表示OpenVAS服务成功启动。如果需要停止服务,需要执行openvas- stop命令如下:

  从输出信息中,可以看到OpenVAS服务已停止。
  现在,用户可以在浏览器中输入地址:9392/ (IP地址就是OpenVas服务所在主机的IP地址,也可以是主机名),登录OpenVAS服务器了。成功登录后,即可使用该工具进行各种漏洞扫描。

  当成功安装OpenVAS后,即可登录并使用该工具实施漏洞扫描。但是,成功登录OpenVAS服务后,还需要进行简单的配置才可以实施漏洞扫描。下面介绍登录及配置OpenVAS服务的方法。
  【实例2-9】登录OpenVAS服务。具体操作步骤如下:
  (1)在浏览器中输入 ,显示如图2.33所示的界面。


  (2)该界面显示浏览器中访问的链接不可信任。这是因为该链接使用的是https协议,必须要确定安全可靠才可访问。单击Advanced按钮,显示如图2.34所示的界面。
  (3)该界面显示了访问该链接存在的风险。如果确认访问的链接没问题,则单击Add Exception按钮添加例外,如图2.35所示。


  (4)该界面显示了要添加例外的链接信息。此时,单击Confirm Security Execption按钮,显示如图2.36所示的界面。


  (5)该界面是OpenVAS服务的登录界面,输入用户名和密码即可登录该服务。这里的用户名就是前面配置OpenVAS时,自动创建的admin用户,密码为password。输入用户名和密码后,单击Login按钮,显示如图2.37所示的界面。


  (6)看到该界面显示的内容,则表示已成功登录OpenVAS服务。


  扫描配置就是用来指定扫描目标时所需要的插件。使用OpenVAS工具扫描时,需要通过一个扫描任务来实现。但是,扫描任务是由一个扫描配置和一个目标组成的。所以,在实施扫描之前,必须先创建扫描配置和扫描目标才可以。下面介绍创建扫描配置的方法。
  【实例2-10】新建扫描配置。具体操作步骤如下:


  (2)从该界面可以看到,默认有8个扫描配置。在该界面单击(New Scan Config)图标,即可创建新的扫描配置,如图2.40所示。


  (3)在该界面中设置扫描的名称,这里设置为Local Vulnerabilities。对于Base选择Empty,static and fast复选框,该选项表示允许用户从零开始创建自己的配置。单击Create按钮进行创建。显示如图2.41所示的界面。


  (4)从图2-41所示界面的Family栏看到有很多的可扫描插件信息,如果想要选择某插件,只需将Select all NVTs栏中的复选框勾选上即可,设置完后,单击Save按钮,显示如图2.43所示的界面。


  (5)该界面显示了新建的扫描配置Local Vulnerabilities。从该界面可以看到,新建的扫描配置共选择了9个插件族,共4409个插件。如果用户希望编辑该扫描配置重新设置插件时,单击Actions列的图标,打开扫描编辑配置界面。在该界面单击扫描配置名称,即可查看其详细信息,如图2.44所示。


  (6)从该界面可以看到的该扫描配置的详细信息,包括选择的漏洞家族、插件及配置等。
  在创建好扫描配置后,就需要创建扫描目标了。扫描目标就是用来指定扫描目标主机的地址、扫描端口及使用的扫描方式。下面介绍创建扫描目标的方法。
  【实例2-11】新建扫描目标。具体操作步骤如下:


  (2)从该界面可以看到,默认没有创建任何目标。此时,用户可以单击(New Target)图标,创建新的扫描目标,如图2.46所示。


  (3)在该界面输入Target名称及扫描的主机、端口列表、测试方法等。在指定目标时,用户可以输入一个网段、单个地址或多个地址,地址直接使用逗号分隔。用户也可以将扫描的目标地址保存在一个文件中,选择From file格式,选择目标地址的文件。然后单击Create按钮,显示如图2.47所示的界面。


  (4)从该界面可以看到新建的扫描目标,其名称为Windows XP。
  将扫描配置和目标都创建完后,即可创建扫描任务了。然后,对指定的目标实施扫描。下面介绍创建扫描任务的方法。
  【实例2-12】为OpenVAS创建任务。具体操作步骤如下:
  (1)在OpenVAS服务的菜单栏中依次选择Scans |Tasks命令,显示如图2.48所示的界面。


  (2)该界面显示了OpenVAS扫描任务管理的欢迎信息。如果用户不想要查看,单击右上角的按钮关闭即可。然后,进入扫描任务界面,如图2.49所示。


  (3)从该界面可以看到,目前没有创建任何任务。在该界面单击(New Task)图标创建任务,如图2.50所示。


  (4)在该界面设置任务名称、扫描配置和扫描目标等,然后单击Create按钮,显示如图2.51所示的界面。


  (5)从该界面可以看到新建的任务Windows XP,状态为New。接下来,开始该扫描任务并对目标实施扫描。

  通过前面一系列的操作,可以开始对指定的目标实施漏洞扫描了。下面介绍实施漏洞扫描的方法。
  【实例2-13】以【实例2-12】创建的扫描任务为例,实施漏洞扫描。具体操作步骤如下:
  (1)创建的扫描任务如图2.51所示。
  (2)从该界面可以看到前面新建的任务Windows XP。此时,单击(Start)图标,开始漏洞扫描。在启动该扫描任务后,按钮图标将变为(Pause),单击该按钮可以暂停扫描。也可以单击(Stop)图标停止扫描。扫描完成后,New将变为Done,在扫描过程中显示为Requested。


  (3)扫描完成后,显示如图2.54所示界面。
  (4)从该界面的Status(状态)列,可以看到已显示为Done,表示扫描完成。接下来,对扫描结果进行分析,以从中获取到目标主机中的漏洞信息。


2.2.4 分析并导出漏洞扫描报告

  当用户对目标主机实施扫描后,即可从扫描结果中获取其目标主机的漏洞信息。同样,为了方便用户分析其扫描结果,OpenVAS也支持将漏洞信息以不同报告格式导出。下面介绍分析并导出漏洞扫描报告的方法。
  1.分析漏洞扫描结果
  【实例2-14】以上例中的扫描结果为例,对其进行分析。具体操作步骤如下:
  (1)上例中的扫描结果如图2.54所示。
  (2)从该界面可以看到目标系统中有非常严重的漏洞,安全级别为10.0(High)。此时用户可以单击状态下面的Done命令,查看漏洞扫描的详细信息,如图2.55所示。


  (3)从该界面的Severity列显示的情况,可以看到这些漏洞的严重情况。其中,10.0是安全问题最严重的漏洞。例如,查看该界面显示的第一个漏洞的详细信息,如图2.56所示。
  (4)该界面显示了目标主机上拒绝服务攻击漏洞详细信息。其中,漏洞信息包括目标主机所开放的端口、漏洞导致的结果及漏洞解决方法等。这里记下该漏洞的CVE编号非常重要。在以上References部分即可看到相关的漏洞CVE编号及可参考的链接。在这些参考网页中,可了解该漏洞的详细信息,以及具体的漏洞编号等。然后,根据该漏洞CVE编号查找对应的攻击载荷,并实施攻击。


  2.导出漏洞扫描报告
  为了方便用户进行分析,可以将漏洞信息以报告的形式导出。其中,OpenVAS支持15种文件格式的报告,如PDF、XML、CXV、HTML和TXT等。
  【实例2-15】将漏洞扫描结果以PDF格式导出。其操作步骤如下:
  (1)打开漏洞扫描列表界面,如图2.57所示。
  (2)从该界面可以看到有一个按钮,表示下载报告。这里默认选择的是Anonymous XML格式。如果用户想以其他格式导出的话,单击切换报告格式文本框中的按钮,即可选择其他格式。然后,单击(Download)按钮将此次的扫描报告导出。这里选择导出为PDF格式的报告,单击(Download)按钮,显示如图2.58所示的界面。
  (3)该界面用于设置处理该报告文件的方法。用户可以单击选中Open with单选按钮,表示直接打开。或者单击选中Save File单选按钮,指定该报告文件的保存位置。这里单击选中Save File按钮保存该报告文件,然后单击OK按钮,即可成功将该报告导出。


  在用户搭建好OpenVAS服务后,可以直接在Metasploit中远程调用,通过命令行方式对目标主机实施扫描。下面介绍在Metasploit中远程调用OpenVAS服务,并实施扫描的方法。
  【实例2-16】在Metasploit中远程调用OpenVAS对目标主机实施扫描。具体操作步骤如下:
  (1)加载Openvas插件。执行命令如下:

  看到以上输出信息,表示成功加载了OpenVAS插件。接下来,用户可以使用openvas_help命令,查看OpenVAS模块支持的所有命令。执行完以上命令后,将显示7部分命令。其中,第1部分显示了帮助命令。显示如下:

  使用以上帮助命令可以查看帮助信息、调试信息和版本信息。
  第2部分显示了连接命令。显示如下:

  以上命令用来连接与断开OpenVAS服务的连接。
  第3部分显示了目标设置命令。显示如下:

  以上命令用来创建目标、删除目标及获取目标列表。
  第4部分显示了扫描任务设置命令。显示如下:

  用户使用以上命令可以创建扫描、删除、列出、启动、停止扫描任务等。
  第5部分显示了扫描配置命令。显示如下:

  以上命令用来列出扫描配置信息。
  第6部分显示了报告格式命令。显示如下:

  以上命令用来列出有效的报告格式。
  第7部分显示了扫描报告操作命令。显示如下:

  用户可以使用以上命令列出、删除、导入或下载扫描报告。当了解用户以上命令后,即可进行后续的一系列操作。
  (2)使用openvas_connect命令登录到OpenVAS服务器。其语法格式如下所示:

  从输出的信息中,可以看到已成功登录到OpenVAS服务器。
  (3)后续操作流程与图形界面一样。在实施扫描之前,需要创建扫描目标、扫描配置和扫描任务。用户也可以使用默认的扫描配置,来实施扫描。这里将使用默认的扫描配置方式,来实施扫描。下面创建一个扫描目标,其语法格式如下所示:

  在以上语法中,参数name表示扫描目标名称;hosts表示目标主机;comment表示注释信息。下面创建一个名称为Local Machine,目标地址为192.168.1.6的扫描目标。执行命令如下:

  看到以上输出信息,则表示成功创建了扫描目标。从显示的结果中可以看到该扫描目标ID为fc-4df9-81ab-fa。
  (4)创建扫描任务。先查看下扫描配置列表,执行命令如下:

  从输出的信息中可以看到,共提供了8种扫描配置。从显示的信息可以看到每个扫描配置的ID和名称。其中,用于创建扫描任务的语法格式如下:

  以上语法中的参数name表示指定扫描任务名称;comment用来设置注释信息;config_id用来指定扫描配置的ID;target_id用来指定目标ID。这里选择使用Full and fast扫描配置,对前面创建的目标实施扫描。执行命令如下:

  (5)启动扫描任务。其语法格式如下:

  看到以上输出信息,表示成功启动了扫描任务。从输出信息的Status(状态)列可以看到,值为Running,即正在实施扫描。此时,用户也可以使用openvas_task_list命令查看扫描任务的进度。执行命令如下:

  在以上输出信息中共包括5列,分别是ID(扫描任务ID)、Name(扫描任务名称)、Comment(扫描任务注释)、Status(状态)和Progress(进度)。从以上显示的信息可以看到,扫描任务正在运行,其进度值为98。当扫描完成后,该进度值为-1。具体如下:

  看到以上输出信息,表示扫描完成了。为了方便用户对扫描结果进行分析,可以下载该扫描报告。
  (6)使用openvas_report_download命令下载扫描报告。在下载扫描报告之前,先使用openvas_report_list命令查看下扫描报告列表,以确定生成的扫描报告信息。执行命令如下:

  从输出的信息可以看到,有一个扫描报告。其中,该扫描报告的ID为c5a85e97-aedc- b06cbceb9e9。接下来,用户就可以下载该扫描报告了。下载扫描报告的语法格式如下:

  以上语法中参数report_id表示扫描报告的ID;format_id表示扫描报告格式的ID;path表示下载路径;report_name表示扫描报告名称。在下载扫描报告之前,需要确定这些信息。用户可以使用openvas_format_list命令查看支持的扫描报告格式。具体如下:

  从以上输出信息可以看到支持的所有扫描报告格式。在以上信息中共包括4列,分别表示ID(扫描报告格式的ID)、Name(扫描报告格式名称)、Extension(扫描报告文件扩展名)和Summary(摘要信息)。例如,这里选择下载扫描报告格式为CSV,并保存到/root/openvas目录中,报告文件名为reports.csv。执行命令如下:

  从输出的信息可以看到,已成功将扫描报告下载到/root/openvas/reports.csv文件中。此时,用户使用文本编辑器即可查看已下载的扫描报告,如图2.59所示。


  (7)用户可以对该扫描报告进行分析了,以获取目标主机的漏洞信息。

  当用户知道设备或者系统型号后,可以人工方式去官方获取漏洞信息。很多负责任的公司都会在漏洞发现后,发布更新补丁和设备固件。但大部分情况下,实际没人会天天看这些的。所以,由于维护人员的懒惰,漏洞就出来了。下面介绍手工查询漏洞的方法。
  这里以HP M251打印机为例,该打印机是内嵌系统。在其官网提供一个固件供用户更新。其网址 series/5097632/model/5097633。在该网页中有详细的漏洞说明情况,如图2.60所示。
  从该界面的修复和增强内容中,可以看到该固件修复了又称为POODLESSLv3.0漏洞的潜在漏洞问题(CVE-)。从该漏洞描述中知道了漏洞编号,这样查攻击载荷就容易了。一般设备固件都是需要用户手动更新。所以,如果要更新该漏洞,需要从该界面下载并手动更新该固件。


  除了到官方网站查询一些固件漏洞,语言还可以到CVE的管理网站和微软漏洞官方查看各种CVE和微软的漏洞,其网址分别是:

我要回帖

更多关于 xss漏洞源码 的文章

 

随机推荐