网站安全测试报告模板

                    XXXX网站安全测试报告

 


摘要

经xxxxx网站负责人的授权,xxxxx有限公司安全测试小组对xxxxx网站进行了安全测试。测试结果如下:

  • 严重问题:7个
  • 中等问题:8个
  • 轻度问题:6个

一.安全风险分布

详细内容如下表:

1 发现问题详细内容

问题等级

种类

数量

名称

严重问题

7

1个

盲注

1个

Apache Tomcat示例目录漏洞

1个

跨站脚本攻击

1个

应用程序错误消息

1个

Spring框架中的目录遍历

1个

JavaScript库薄弱

1个

Microsoft IIS波浪号目录枚举

中等问题

8

1个

页面的错误信息

1个

缓慢的HTTP拒绝服务攻击

1个

Apache Jserv协议服务

1个

HTML表单没有CSRF保护

1个

VIEWSTATE参数未加密

1个

Snoop Servlet信息披露

1个

URL重定向

1个

用户凭据以明文发送

轻度问题

6

1个

“点击劫持”:X-Frame-Options头失踪

1个

登录页面密码猜测攻击

1个

OPTIONS方法启用

1个

可能相对路径覆盖

1个

URL中的会话令牌

1个

坏链

 

xxxx有限公司认为被测系统当前安全状态是:远程安全系统

服务概述

本次渗透测试工作是由xxxxxx有限公司的渗透测试小组独立完成的。

xxxxxx公司渗透测试小组在20xx年3月14日至20xx年xx月xx日对xxxx网站进行了远程渗透测试工作。在此期间,xxxxxxxx公司渗透测试小组利用部分前沿的攻击技术;使用成熟的黑客攻击手段;集合软件测试技术(标准)对指定网络、系统做入侵攻击测试,希望由此发现网站、应用系统中存在的安全漏洞和风险点。

  1. 测试流程

xxxxxxxx公司渗透测试服务流程定义为如下阶段:

信息收集:此阶段中,xxxxxxxxxx公司测试人员进行必要的信息收集,如 IP 地址、DNS 记录、软件版本信息、IP 段、Google中的公开信息等。

渗透测试:此阶段中,xxxxxxxxxxxxxx公司测试人员根据第一阶段获得的信息对网络、系统进行渗透测试。此阶段如果成功的话,可能获得普通权限。

缺陷利用:此阶段中,xxxxxxxxxxxxxxxxxxxxx公司测试人员尝试由普通权限提升为管理员权限,获得对系统的完全控制权。在时间许可的情况下,必要时从第一阶段重新进行。

成果收集:此阶段中,xxxxxxxxxxxxxxxxxxx公司测试人员对前期收集的各类弱点、漏洞等问题进行分类整理,集中展示。

威胁分析:此阶段中,xxxxxxxxxxxxxxxxxxx公司测试人员对发现的上述问题进行威胁分类和分析其影响。

输出报告:此阶段中,xxxxxxxxxxxxxxxxxxx公司测试人员根据测试和分析的结果编写直观的渗透测试服务报告

二.渗透测试流程

风险管理及规避

为保障客户系统在渗透测试过程中稳定、安全的运转,我们将提供以下多种方式来进行风险规避。

对象的选择

为更大程度的避免风险的产生,渗透测试还可选择对备份系统进行测试。因为备份系统与在线系统所安装的应用和承载的数据差异较小,而其稳定性要求又比在线系统低,因此,选择对备份系统进行测试也是规避风险的一种常见方式。

时间的控制

从时间安排上,测试人员将将尽量避免在数据高峰时进行测试,以此来减小测试工作对被测试系统带来的压力。

技术手段

xxx公司的渗透测试人员都具有丰富的经验和技能,在每一步测试前都会预估可能带来的后果,对于可能产生影响的测试(如:溢出攻击)将被记录并跳过,并在随后与客户协商决定是否进行测试及测试方法。

监控措施

针对每一系统进行测试前,测试人员都会告知被测试系统管理员,并且在测试过程中会随时关注目标系统的负荷等信息,一旦出现任何异常,将会停止测试。

工具的使用

在使用工具测试的过程中,测试人员会通过设置线程、插件数量等参数来减少其对系统的压力,同时还会去除任何可能对目标系统带来危害的插件,如:远程溢出攻击类插件、拒绝服务攻击类插件等等。

  1. 测试收益

通过实施渗透测试服务,可对贵方的信息化系统起到如下推进作用:

明确安全隐患点

渗透测试是一个从空间到面再到点的过程,测试人员模拟黑客的入侵,从外部整体切入最终落至某个威胁点并加以利用,最终对整个网络产生威胁,以此明确整体系统中的安全隐患点。

提高安全意识

如上所述,任何的隐患在渗透测试服务中都可能造成“千里之堤溃于蚁穴”的效果,因此渗透测试服务可有效督促管理人员杜绝任何一处小的缺陷,从而降低整体风险。

提高安全技能

在测试人员与用户的交互过程中,可提升用户的技能。另外,通过专业的渗透测试报告,也能为用户提供当前流行安全问题的参考。

测试目标说明

1.测试对象

测试对象名称

相关域名、对应的URL

xx网站

证书版登录

http://www.xx.com.cn

IP地址:211.149.xx.xx

2.测试账号

测试账号名称

相关详细信息

xxxx系统账号

账号所有者:xxxxxx网站

系统登录:xx密码:xxxxxx

 

3.时间

测试工作的时间段

起始时间

2019-xx-xx

结束时间

2019-xx-xx

本份测试报告分析的各种安全风险,仅限定于在上述时间段内测试反馈信息的整理,不包括非上述时间段内的因系统调整、维护更新后出现的其他变化情况。

参与测试人员

  1. 测试环境

参测人员名单

姓名

xx

所属部门

软件测试部

姓名

xx

所属部门

软件研发部

本次渗透测试过程中,南京贞观互联网科技有限公司测试小组使用过多个互联网IP地址开展的分析工作,在此通知南京长江第三大桥网站相关人员在对受测试的目标站点服务器、相应的网络入侵检测系统进行安全监控和日志分析时,排除以下IP地址产生的任何违规信息,以保证分析结果的准确有效。

三、工具及相关资源

1.测试工具:NetCat

工具名称

NetCat

工具用途

端口连接,数据提交

相关信息

http://joncraton.org/files/nc111nt.zip

2 测试工具:Nmap

工具名称

Nmap

工具用途

端口扫描,服务识别,操作系统指纹识别

相关信息

http://nmap.org/

3 测试工具:httprint

 

工具名称

Httprint

工具用途

通过远程http指纹判断http服务类型

相关信息

http://www.net-square.com/httprint/

4 测试工具:Tamper IE

 

工具名称

Tamper IE

工具用途

HTTP数据包修改、转发工具(Firefox插件)

相关信息

http://www.bayden.com/TamperIE/

5 测试工具:安全检测工具集

 

工具名称

XX科技整理的安全检测工具集

工具用途

跨站及SQL注入测试、远程溢出测试、暴力破解测试、嗅探分析

相关信息

www.xxS.com

 

在具体的分析过程中,xxxxxxxx公司测试小组在微软的Windows平台上(涵盖2003/Vista),使用了IE(涵盖6.0/7.0/8.0)和Firefox浏览器对指定的测试对象进行的分析、校验、测试。因此,漏洞分析检测到的部分安全问题可能与特定的操作系统、软件版本有具体关系,提醒后期实施漏洞修复工作的人员特别注意其中的差异。

  • 测试过程详述
    1. 目标信息探测
      1. 域名信息

渗透测试人员首先通过nslookup对主机的IP地址、NS记录等信息的查询,对站点进行基本的信息探测:

Default Server:  xd-cache-1.net

Address:  211.149.xx.xx:xx

 

>xx.com.cn

 

//查询ns记录

> set type=ns

>xx.com.cn

Server:  gjjline.bta.net.cn

Address:  211.149.xx.xx:xx

 

Non-authoritative answer:

xx.com      nameserver = xx.com

> server hxns1.hua-xiabank.com

Default Server:  xx.com.cn

Address:  211.149.xx.xx:xx

 

//测试区域传输

> set type=axfr

> ls -d xx.com.cn

ls: connect: No error

*** Can't list domain xx.com.cn: Unspecified error

The DNS server refused to transfer the zone xx.com to your computer. If this

is incorrect, check the zone transfer security settings for xx.com on the DNS

server at IP address 211.149.xx.xx:xx

 

//查询站点mx记录

> set type=mx

> nj3q.com.cn

Server:  xx.com.cn

Address:  211.149.xx.xx:xx

 

xx.com      MX preference = 5, mail exchanger = smtp.xx.com.cn

xx.com      nameserver = xx.com.cn

 

//检查版本信息

> set type=txt

> set class=chaos

> version.bind

Server:  xx.com.cn

Address:  211.149.xx.xx:xx

version.bind    nameserver = version.bind

 

 

对WWW目标进行Whois的查询,下面是获取到的Whois信息如下:

xx.com.cn= [211.149.xx.xx:xx]

  1. Google Hacking

搜索错误的文件后缀

在此过程中,测试人员会对站点进行如下内容的搜索:

搜索内容

说明

site:xx.com.cn inurl:jsp.bak

site:xx.com.cn inurl:jsp.bak

搜索站点中是否存在后缀为jsp.bak的文件,即,某些jsp的备份文件。

site:xx.com.cn filetype:sql

site:xx.com.cn filetype:sql

搜索站点中是否存在SQL脚本文件

site: xx.com.cn filetype:txt

site: xx.com.cn filetype:txt

查找站点中是否有包含敏感信息的txt文件

site: xx.com.cn filetype:conf

site: xx.com.cn filetype:conf

查找站点中是否有包含敏感信息的conf文件

 

通过上述方法测试,测试人没有在Google和Baidu等互联网公共搜索服务商搜索出与之相关的敏感信息。

查找第三方组件或程序

在此过程中,测试人员会对站点进行如下内容的搜索:

搜索内容

说明

site:xx.com.cn  inurl:/fckeditor/

site:xx.com.cn  inurl:/fckeditor/

搜索站点是否使用了fckeditor

site:xx.com.cn inurl:jsp?id inurl:ewebeditor

site:xx.com.cn inurl:jsp?id inurl:ewebeditor

搜索站点是否使用了 eWebEditor

 

通过上述方法测试,测试人没有在Google和Baidu等互联网公共搜索服务商搜索出与之相关的敏感信息。

搜索错误的配置

在此过程中,测试人员会对站点进行如下内容的搜索:

搜索内容

说明

site:xx.com.cn intitle:”index of /”

site:xx.com.cn intitle:”index of /”

搜索站点是否使用了列目录功能

site:xx.com.cn intitle:"Apache Tomcat" intitle:"Error Report"

搜索站点是否存在TOMCAT错误信息,通过错误信息可判断TOMCAT版本

site:xx.com.cn  inurl:"examples"

site:xx.com.cn  inurl:"examples"

搜索站点中是否存在测试代码

 

通过上述方法测试,测试人没有在Google和Baidu等互联网公共搜索服务商搜索出与之相关的敏感信息。

  1. 对系统的测试
    1. 端口扫描

通过使用Nmap端口扫描工具对主机在Internet上的端口开放情况进行检查:

1Nmap扫描结果

通过Nmap扫描报告,确认主机开放两个端口:

  1. TCP 21(用于FTP服务)
  2. TCP 443(用于WEB服务)

通过使用nc(NetCat)对主机的TCP 21进行端口连接性测试,发现在连接成功后较长时间内端口无反应:

2使用nc连接TCP 21

再次通过使用ftp客户端对目标系统发起FTP连接请求,得到信息“Connection closed by remote host.”:

3 使用ftp客户端对目标主机进行验证

由此可确认TCP 21虽开放,但应在网络层有相关的ACL限制,因此无法从Internet对其FTP服务发起连接请求。

 

服务信息探测

通过端口扫描判断,远程目标主机仅有TCP 443端口(WEB应用服务)可用,因此,后继的渗透测试工作主要针对WEB应用本身及运行于WEB应用上的代码展开。

首先使用httprint对远程主机的WEB应用版本进行判

1 httprint判断远程WEB应用版本

根据httprint输出无法判断远程主机的WEB应用。

通过nc手工提交HTTP HEAD请求,依然无法获取到目标WEB应用版本信息。

2 使用nc提交HTTP HEAD请求

通过nc手工提交HTTP OPTIONS请求,依然无法获取到目标WEB应用版本信息。

3 使用nc提交HTTP OPTIONS请求

对应用的测试

测试人员根据WASC威胁分类,对应用程序的渗透测试从五个类型的安全方面进行测试,这五个威胁类型包括:认证和授权、命令执行、逻辑攻击、服务端攻击、信息泄露。

 

认证和授权类

命令执行类

暴力攻击

LDAP注入

认证不充分

SSI注入

会话定置

SQL注入

会话期限不充分

Xpath注入

凭证/会话预测

操作系统命令

授权不充分

格式字符串攻击

逻辑攻击类

缓冲区溢出

功能滥用

信息泄漏类

拒绝服务

可预测资源定位

客户端攻击类

路径遍历

跨站点脚本编制

目录索引

内容电子欺骗

信息泄露

1 WASC威胁分类

测试人员根据xxx系统的特点,从实际出发采用手工测试的方法,对五大类威胁中的部分内容进行测试。

  1. 命令执行类

在命令执行类的测试中,测试人员主要测试了SQL注入攻击。为了避免使用模糊测试给账户及xxxx网站带来不可预料的影响,测试人员采用手工测试的方法。

测试人员对xxxxx网站中的输入参数进行了部分测试,下面以测试登录用户名选项为例进行说明。

测试人员发现当前xxxx网站系统大部分输入都只是网页端验证而非网页端服务端双向验证。(威胁点)

  1. 信息泄露类

测试人员在对网站其他周边信息进行检查时发现,xx.com.cn存在明显的web server默认页面,该处泄露了当前服务器web信息。

 

发现问题与建议

1/其他建议

针对WEB平台的渗透测试及定期的评估扫描等方式,均以暴露问题为目标,属于被动的安全手段,而这些方式也大大的增加开发和维护的成本,因此建议xxxx网站针对如WEB程序这类个性化产品开发前就应做好安全的相关工作,建议xxxx网站对定制开发的产品从以下几个方面进行相关的考察和关注:

  1. 制定以功能和安全兼顾的产品开发需求
  2. 将安全作为产品开发项目中的重要参考指标
  3. 产品开发过程中的人员安全意识和技能培训
  4. 完善的安全开发手册及通用的安全的代码库
  5. 在开发每阶段完成后的定期代码审计和扫描
  6. 产品整体上线前的审计工作和远程评估工作
  • 测试结论

经过本次远程渗透测试,我们对此远程系统的安全评价是 远程安全系统。

 

安全等级

资源内容描述

远程不安全系统

符合任何一个条件

存在一个或一个以上严重的安全问题,可直接导致系统受到破坏;

与其他非安全系统连接,同时存在相互信任关系(或帐号互通)的主机;

发现已经被人入侵且留下远程后门的主机;

存在3个以上中等安全问题的主机;

与其他非安全系统在一个共享网络中,同时远程维护明文传输口令;

完全不能抵抗小规模的拒绝服务攻击

远程一般安全系统

符合任何一个条件

存在一个或一个以上中等安全问题的主机;

开放过多服务,同时可能被利用来进行拒绝服务的主机;

与其他非安全系统直接连接,但暂时不存在直接信任(或帐号互通)关系;

远程维护通过明文的方式传递信息;

存在三个以上轻度安全问题的主机;

只能抵御最低级的拒绝服务攻击;

远程安全系统

符合全部条件

最多存在1-2个轻度安全问题;

远程维护方式安全;

与不安全或一般安全系统相对独立;

能抵挡一定规模的拒绝服务攻击。

六 安全等级评定

  1. 威胁程度分级

威胁程度的分级方式说明如下

  1. 严重:直接导致系统被入侵或数据被破坏,一旦发生,就是严重的安全事件。
  2. 中等:可能导致重要信息的泄漏或有较高可能导致系统被入侵控制
  3. 轻度敏感信息泄漏或存在轻微安全问题,一般不会产生严重的安全事件。
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页