系统安全性测试的漏扫检查内容都有什么

2021-02-12  人阅读

2021-02-12  人阅读

系统的安全性测试的漏扫检查内容,根据不同应用系统的特性分为信息收集、配置管理测试、认证测试、命令执行、会话管理测试、授权测试、数据验证测试和Web服务测试等八大类,这检查项也富源科技在软件开发中对程序员重点要求的,下面就介绍系统安全性测试的漏扫检查内容都有什么

 

一、信息收集

1、目录爬行遍历

将通过浏览和目录爬取的方式,捕获/收集应用的资源。

2、搜索引擎侦测

搜索引擎,比如Google,能够用来发现公开发布的网页应用结构或者错误页面等相关问题。

3、应用程序入口探测 

枚举应用入口和攻击途径是入侵发生之前的预警,这部分枚举完成后,将帮助找出在应用里面应该重点关注的领域。

4、Web应用程序指纹探测

应用指纹是信息收集的第一步,获取运行网页服务器的版本,知道哪些是已知弱点及在测试时使用何种方法恰当。

5、应用程序发现

以Web服务器的网页应用作为目标,对于发现细节/寻找突破,如发现用于管理的应用脚本,或旧版本的文件/组件,在测试、开发或维护过程中产生的已不用的脚本代码。

6、分析错误代码的信息泄漏

网页应用可能泄露原本不想被用户看见的信息,如错误码等信息能了解应用程序使用的有关技术和产品,很多情况下,由于异常处理和程序代码的不合理,甚至不需要任何特殊技术或工具,都很容易触发产生错误代码的条件从而产生错误代码导致被攻击者利用。

 

二、配置管理测试

1、SSL/TLS测试

SSL和TLS是两个以加密的方式为传输的信息提供安全隧道的协议,具有保护、加密和身份认证的功能,这些安全组件在应用中非常关键,因此确保高强度的加密算法和正确的执行非常重要。测试的模块主要为:SSL版本、算法、密钥长度、数字证书、有效期。

2、数据库监听器(DB Listener)测试

许多数据库管理员在配置数据库服务器时,没有充分考虑到数据库侦听器组件的安全,如果没有进行安全的配置而使用手动或自动的技术进行侦听,侦听器就可能泄露敏感数据以及配置信息或正在运行的数据库实例信息。

3、基础配置信息测试

Web应用基础架构由于其内在的复杂性和关联性,一个微小的漏洞就可能对同一服务器上的另一个应用程序产生严重的威胁,甚至破坏整个架构的安全。为了解决这些问题,对配置的管理和已知安全问题进行深入审查尤为重要。

4、应用程序配置信息测试

通常在应用程序开发和配置中会产生一些没有考虑到的信息,而这些信息暂时被发布后的Web应用程序所隐藏,这些信息可能从源代码、日志文件或Web服务器的默认错误代码中泄露。

5、文件扩展名处理测试

通过Web服务器或Web应用程序上的文件扩展名能够识别出目标应用程序使用的技术,例如扩展名JSP、ASP和PHP,文件扩展名也可能暴露与该应用程序相连接的其它系统。

6、旧文件、备份文件、未引用文件测试

Web 服务器上存在多余的、可读、可下载的文件,并且用于备份的文件,是信息泄漏的一大源头,因为它们可能包含应用程序或数据库的部分源代码,安装路径以及口令等敏感信息。

7、应用程序管理接口测试

许多应用程序的管理接口,通常使用一个公用路径,路径获取后可能面临猜测或暴力破解管理口令的风险。

8、HTTP请求方法与XST测试

Web服务器可以配置为多种请求方式,如GET、POST、PUT、等,将鉴定Web服务器是否允许具有潜在危险性的HTTP请求方法,同时鉴定是否存在跨网站追踪攻击(XST)。

 

三、认证测试

1、证书加密通道传输安全性测试

分析输入WEB表单中的数据,为登录网站而输入的登录凭据是否使用了安全的传输协议,以免受到攻击。

2、密码明文传输

密码明文传输一般存在于WEB网站登录页面,用户名或者密码采用了明文传输,容易被嗅探软件截取。

3、会话标识未更新

会话标识未更新漏洞,在用户进入登录页面,但还未登录时,就已经产生了一个session,用户输入信息,登录以后,session的id不会改变,也就是说没有建立新session,原来的session也没有被销毁, 可能会窃取或操纵客户会话和cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。

4、未授权访问

未授权访问漏洞,是在攻击者没有获取到登录权限或未授权的情况下,或者不需要输入密码,即可通过直接输入网站控制台主页面地址,或者不允许查看的链接便可进行访问,同时进行操作。

5、文件上传

文件上传漏洞,可以利用WEB上传一些特定的文件,一般情况下文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力,文件上传本身是web中最为常见的一种功能需求。

6、任意文件下载

任意文件下载漏洞不同于网站目录浏览,此漏洞不仅仅可遍历系统下web中的文件,而且可以浏览或者下载到系统中的文件,攻击人员通过目录遍历攻击可以获取系统文件及服务器的配置文件等等,一般来说,他们利用服务器API、文件标准权限进行攻击,严格来说,目录遍历攻击并不是一种web漏洞,而是网站设计人员的设计“漏洞”,如果web设计者设计的web内容没有恰当的访问控制,允许http遍历,攻击者就可以访问受限的目录,并可以在web根目录以外执行命令。

7、越权访问

越权访问,这类漏洞是指应用在检查授权(Authorization)时存在纰漏,使得攻击者在获得低权限用户帐后后,可以利用一些方式绕过权限检查,访问或者操作到原本无权访问的高权限功能。在实际的代码安全审查中,这类漏洞往往很难通过工具进行自动化检测,因此在实际应用中危害很大,其与未授权访问有一定差别,目前存在着两种越权操作类型:横向越权操作和纵向越权操作,前者指的是攻击者尝试访问与他拥有相同权限的用户的资源;而后者指的是一个低级别攻击者尝试访问高级别用户的资源。

8、用户枚举测试

为了验证是否可能通过与应用程序的认证机制交互(提示信息),收集有效的用户。这项好于暴力破解,一旦获取有效的用户名后,就可针对性的进行口令攻击。

9、字典猜解测试

鉴定应用系统是否存在默认的用户帐户或可猜测的username/password组合(遍历测试)。

10、口令暴力猜解测试

当遍历攻击失败,测试者可尝试使用暴力破解的方式进行验证。暴力破解测试肯能可能碰到锁定用户或IP等限制。

11、验证绕过测试

尝试以非常规的方式企图绕过身份认证机制,使得应用程序资源失去正常的保护,从而能够在没有认证的情况下访问这些受保护的资源。

12、口令重置/找回漏洞测试

鉴定应用程序的“忘记登陆口令”功能是否起到足够的保护,检查应用程序是否允许用户在浏览器中存储敏感信息。

13、用户注销缓存漏洞测试

检查注销和缓存功能能否得到正确实现。

14、多因素认证漏洞测试

多因素身份验证将测试以下认证方式的安全性:一次性口令(OTP)所生成的验证码,USBkey设备基于X.509证书的智能卡通过SMS发送的随机一次性口令只有合法用户知道的个人信息。

 

四、命令执行

1、Struts2远程命令执行

Struts 2是在struts 和WebWork的技术基础上进行了合并的全新的框架。Struts2漏洞类型分为两种,一种是使用缩写的导航参数前缀时的远程代码执行漏洞,另一种是使用缩写的重定向参数前缀时的开放式重定向漏洞,Struts2远程命令执行,属于高危安全漏洞,可使黑客取得网站服务器的权限。

2、JBOSS远程代码执行

JBOSS默认配置会有一个后台漏洞,漏洞发生在jboss.deployment命名空间,中的addURL()函数,该函数可以远程下载一个war压缩包并解压。 如果压缩包里含有webshell文件,是直接可以解析的。

3、HTTP.SYS远程代码执行

Http.sys是Microsoft Windows处理HTTP请求的内核驱动程序。HTTP.sys会错误解析某些特殊构造的HTTP请求,导致远程代码执行漏洞。成功利用此漏洞后,攻击者可在System帐户上下文中执行任意代码。由于此漏洞存在于内核驱动程序中,攻击者也可以远程导致操作系统蓝屏。此次受影响的系统中,Windows 7、Windows 8、Windows Server 2008 R2 和 Windows Server 2012所带的HTTP.sys驱动均存在一个远程代码执行漏洞,远程攻击者可以通过IIS 7(或更高版本)服务将恶意的HTTP请求传递给HTTP.sys驱动,通过发送恶意的HTTP请求导致远程代码执行或操作系统蓝屏。

4、文件包含

文件包含是指程序代码在处理包含文件的时候没有严格控制。导致用户可以构造参数包含远程代码在服务器上执行,并得到网站配置或者敏感文件,进而获取到服务器权限,造成网站被恶意删除,用户和交易数据被篡改等一系列恶性后果。主要包括本地文件包含和远程文件包含两种形式,由于开发人员编写源码,开放着将可重复使用的代码插入到单个的文件中,并在需要的时候将它们包含在特殊的功能代码文件中,然后包含文件中的代码会被解释执行。由于并没有针对代码中存在文件包含的函数入口做过滤,导致客户端可以提交恶意构造语句提交,并交由服务器端解释执行。文件包含攻击中WEB服务器源码里可能存在inlcude()此类文件包含操作函数,可以通过客户端构造提交文件路径,是该漏洞攻击成功的最主要原因。

5、PHP multipart 远程DOS漏洞

PHP 在处理HTTP请求中的multipart/form-data头部数据时存在一个安全漏洞,导致PHP大量重复分配和拷贝内存的操作,可能造成CPU资源占用100%并持续较长时间,这可能造成远程拒绝服务攻击。受影响的软件及系统:PHP 5.0.0 - 5.0.5;PHP 5.1.0 - 5.1.6;PHP 5.2.0 - 5.2.17;PHP 5.3.0 - 5.3.29;PHP 5.4.0 - 5.4.40;PHP 5.5.0 - 5.5.24;PHP 5.6.0 - 5.6.8。

6、慢速HTTP攻击

慢速攻击基于HTTP协议,通过精心的设计和构造,这种特殊的请求包会造成服务器延时,而当服务器负载能力消耗过大即会导致拒绝服务。HTTP协议规定,HTTP Request以\r\n\r\n(0d0a0d0a)结尾表示客户端发送结束,服务端开始处理。那么,如果永远不发送\r\n\r\n就会产生慢速攻击的漏洞,常见的Slowloris就是利用这一点来做DDoS攻击的。攻击者在HTTP请求头中将Connection设置为Keep-Alive,要求Web Server保持TCP连接不要断开,随后缓慢地每隔几分钟发送一个key-value格式的数据到服务端,如a:b\r\n,导致服务端认为HTTP头部没有接收完成而一直等待。如果攻击者使用多线程或者傀儡机来做同样的操作,服务器的Web容器很快就被攻击者占满了TCP连接而不再接受新的请求\r\n\r\n, 每隔几分钟写入一些无意义的数据流,拖死机器。

 

五、会话管理测试

1、会话管理测试

分析会话管理模式和机制,鉴定发送给客户端浏览器的会话验证码的安全性,鉴定是否能够打破这一机制从而绕过用户会话。如:对Cookie实行反向工程,通过篡改Cookies来劫持会话。

2、短信攻击

短信轰炸攻击时常见的一种攻击,攻击者通过网站页面中所提供的发送短信验证码的功能处,通过对其发送数据包的获取后,进行重放,如果服务器短信平台未做校验的情况时,系统会一直去发送短信,这样就造成了短信轰炸的漏洞。

3、Cookie属性测试

Cookies通常是恶意用户攻击合法用户的关键途径。将分析应用程序在分派Cookie时如何采取必要的防护措施,以及这些已正确配置的Cookie属性。

4、会话固定测试

鉴定当应用程序在成功验证用户后不再更新Cookie 时,能否找到会话固定漏洞并迫使用户使用攻击者已知的Cookie 。

5、CSRF跨站请求伪造测试

跨站伪造请求指在Web应用中,迫使已通过验证的未知用户执行非法请求的方法。鉴定应用程序是否存在这种漏洞。

 

六、授权测试

1、路径遍历测试

鉴定是否能够找到一种方法来执行路径遍历攻击并获成功得服务器返回的信息。

2、Redis未授权访问漏洞

Redis 默认情况下,会绑定在 0.0.0.0:6379,导致Redis服务暴露到公网上。如果在没有开启认证并且在任意用户可以访问目标服务器的情况下,从而可以未授权访问Redis服务,进一步可进行数据增删改查,甚至获取服务器权限等恶意操作。

3、ActiveMQ任意文件写入漏洞

本漏洞出现在fileserver应用中,漏洞原理其实非常简单,就是fileserver支持写入文件(但不解析jsp),同时支持移动文件(MOVE请求)。所以,我们只需要写入一个文件,然后使用MOVE请求将其移动到任意位置,造成任意文件写入漏洞。

4、授权绕过测试

核实如何对某个角色或特权实施授权模式以便获得保留的功能和资源。

5、权限提升测试

确认用户是否可能采用特权提升攻击的方式修改自己在应用程序内部的特权或角色。

 

七、数据验证测试

1、跨站脚本反射测试

反射式跨站脚本攻击 (XSS) 是非持久性跨站脚本攻击的另一个名称。该攻击不会使用存在漏洞的Web应用程序加载,而使用受害者载入的违规的URI 。将确认应用程序对来自用户提交的恶意代码是否进行了存储或反射处理,对各类非法字符进行了严格过滤。

2、存储跨站脚本测试

储存式跨站脚本(XSS)是一种最危险的跨站脚本,允许用户存储数据的Web应用程序都有可能遭受这种类型的攻击。

3、服务端请求伪造SSRF

服务端请求伪造攻击(Server-side Request Forgery): 很多web应用都提供了从其他的服务器上获取数据的功能。使用用户指定的URL,web应用可以获取图片,下载文件,读取文件内容等,这个功能如果被恶意使用,可以利用存在缺陷的web应用作为代理攻击远程和本地的服务器,这种形式的攻击称为服务端请求伪造攻击(Server-side Request Forgery)。

4、不安全HTTP方法

不安全的HTTP方法一般包括:TRACE、PUT、、COPY 等。其中最常见的为TRACE方法可以回显服务器收到的请求,主要用于测试或诊断,恶意攻击者可以利用该方法进行跨站跟踪攻击(即XST攻击),从而进行网站钓鱼、盗取管理员cookie等。

5、跨域访问漏洞

不正确的crossdomain.策略将导致严重的安全问题,如信息泄露、CSRF等。

6、DNS域传送漏洞

JBOSS默认配置会有一个后台漏洞,漏洞发生在jboss.deployment命名空间,中的addURL()函数,该函数可以远程下载一个war压缩包并解压。 如果压缩包里含有webshell文件,是直接可以解析的。

7、SQL 注入测试(Oracle Mysql MsSQL Access)

SQL注入测试检测是否有可能将数据注入到应用程序中,以便在后端数据库中执行用户定制的SQL查询。如果应用程序在没有合理验证数据的情况下使用用户输入创建SQL查询,那么说明该应用程序存在SQL注入漏洞,成功利用这一类别的漏洞会导致未授权用户访问或操作数据库中的数据。

8、Code 注入测试

代码注入测试检测是否有可能在应用程序中注入稍后由Web服务器执行的代码。

9、OS Commanding

将设法通过HTTP请求在应用程序中注入OS命令。

10、缓冲区溢出测试(字符串格式)

将检查不同类型的缓冲区溢出漏洞。

 

八、Web服务测试

1、Web服务器解析漏洞

服务器相关中间件存在一些解析漏洞,攻击者可通过上传一定格式的文件,被服务器的中间件进行了解析,这样就对系统造成一定危害。常见的服务器解析漏洞涉及的中间件有IIS,apache、nginx等。

2、敏感信息泄露

泄露出的敏感信息包括但不限于:数据库连接地址、帐号和口令等信息、服务器系统信息、Web服务器软件名称、版本、Web网站路径、除html之外的源代码、业务敏感数据等。

3、程序信息泄露

未自定义统一错误页面导致信息泄露,抛出异常信息泄露,错误详情信息泄漏。

4、Robots文件信息泄露

搜索引擎可以通过robots文件可以获知哪些页面可以爬取,哪些页面不可以爬取。Robots协议是网站国际互联网界通行的道德规范,其目的是保护网站数据和敏感信息、确保用户个人信息和隐私不被侵犯,如果robots.txt文件编辑的太过详细,反而会泄露网站的敏感目录或者文件,比如网站后台路径,从而得知其使用的系统类型,从而有针对性地进行利用。

5、CRLF注入

HTTP响应头拆分漏洞(CRLF)”是一种新型的web攻击方案,它重新产生了很多安全漏洞包括:web缓存感染、用户信息涂改、窃取敏感用户页面、跨站脚本漏洞。这项攻击方案,包括其衍生的一系列技术产生,是由于web应用程序没有对用户的提交进行严格过滤,导致非法用户可以提交一些恶意字符,更具体来说,是对用户输入的CR 和LF字符没有进行严格的过滤,CRLF是”回车 + 换行”(\r\n)的简称。在HTTP协议中,HTTP Header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP 内容并显示出来。所以,一旦我们能够控制HTTP 消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码,所以CRLF Injection又叫HTTP Response Splitting(HRS),是应用程序没有正确的过滤用户提供的输入。远程攻击者可以利用这个漏洞影响或错误的显示Web内容服务,缓存或解释的方式,这可能帮助诱骗客户端用户,导致跨站脚本,缓存破坏或页面劫持等漏洞。

6、XFF注入

XFF,是X-Forwarded-for的缩写,XFF注入是SQL注入的一种,该注入原理是通过修改X-Forwarded-for头对带入系统的DNS进行SQL注入,从而得到网站的数据库内容。

7、XPATH注入

XPath注入攻击是指利用XPath 解析器的松散输入和容错特性,能够在URL、表单或其它信息上附带恶意的XPath 查询代码,以获得权限信息的访问权并更改这些信息。XPath注入攻击是针对Web服务应用新的攻击方法,它允许攻击者在事先不知道XPath查询相关知识的情况下,通过XPath查询得到一个文档的完整内容。

8、架构测试

需要有合法的格式才能正确的运作。当服务器端进行语句分析时,不合规格的将会出错。一个解析器需要在整个信息中按照序列的方式彻底运行,这样才能评估格式是否合格。解析器通常占用较多的CPU资源。某些攻击通过发送大量或者不合规的信息来利用这个漏洞。

9、内容级别测试

内容级别的攻击对象是Web服务及其使用的应用程序的服务器,包括Web服务器、数据库、应用程序服务器、操作系统等等。内容级别攻击向量包括:1)SQL注入/XPath注入 2)缓存溢出 3)命令注入。

10、HTTP GET参数/REST测试

许多应用程序是通过HTTP GET查询传输参数来使用的,在HTTP GET字符串例如,超长的参数(2048字符)、SQL语句/注入(或OS注入参数)中传输恶意内容时,Web服务将会受到攻击。

11、Naughty SOAP附件

将检测接受附件的Web服务的是否存在漏洞,这类危险存在于当信息附加到服务器和分配到用户的时候。

12、重协商漏洞、SSL重协商、TLS1/SSLv3 重协商漏洞

SSL\TSL是位于一种可靠地网络层 协议~pTCP协议之上的一个协议 ,该协议是为了在客户端和服务器之 间生成一个安全的连接,这种连接是私密的、可靠的并且通信双方可以互相验证双方 的身份 。所 以SSI \TSI 协议应该具有机密性 、完整性和确定性。而对于重新协商,一个SSL 协没一旦建立起来 ,客户端 (C )和服务器 (S)都可以要一次重新协商 ,也称为重新握手,这将会导致在加密 的信道上尽心一次握手 ,C 可以通过发送一个新的client H ello 消息来创建一次重新协商。同样地 ,S可以发送一个H ello request 消息,从而使C 回应一个新的client H ello,以创建一个重新协商,建立重新协商的牧的诗更新密钥,增强所用密码组的保密性和从 C 到s的省份认证等。

13、HTTP Host头攻击

一般通用web程序是如果想知道网站域名不是一件简单的事情,如果用一个固定的URI来作为域名会有各种麻烦。开发人员一般是依赖HTTP Host header(比如在php里是_SERVER["HTTP_HOST"] ),而这个header很多情况下是靠不住的。

14、ASP.NET Padding Oracle攻击

这是一个比较老的漏洞,首先Oracle不是指数据库,其与甲骨文无任何关系,这里是提示的意思,Padding Oracle攻击就是攻击者只需要一个合法密文,即可通过不断向网站发送篡改过的密文(这个过程主要是构造IV的过程),观察是否有Padding异常错误提示,网站中的异常错误提示可能直接显示在网页当中,也可能只是HTTP状态码,如“200 - OK”是正确的,“500 - Internal Server Error”是错误的,根据两个不同的HTTP状态码做对比即可,而不需要其他任何详细信息,利用Padding Oracle原理来攻击可以破解验证码、解密JSF加密信息、解密ViewState信息、伪造管理员的cookie、甚至可以下载web.config配置文件等,另外在ASP.NET 3.5 SP1以后,还可以利用ScriptManager来打包输出本地的脚本文件,可以在页面上放置一段ScriptResource.axd的引用,它的Query String便包含了需要输出的文件路径,它是与ScriptManager等组件完全独立的,而这样也可以利用它来读取web.config。

15、URL重定向、跳转漏洞

服务端未对传入的跳转url变量进行检查和控制,可能导致可恶意构造任意一个恶意地址,诱导用户跳转到恶意网站。由于是从可信的站点跳转出去的,用户会比较信任,所以跳转漏洞一般用于钓鱼攻击,通过转到恶意网站欺骗用户输入用户名和密码盗取用户信息,或欺骗用户进行金钱交易;也可能引发的XSS漏洞(主要是跳转常常使用302跳转,即设置HTTP响应头,Locatioin: url,如果url包含了CRLF,则可能隔断了http响应头,使得后面部分落到了http body,从而导致xss漏洞)。另外在struts2 中存在重定向的漏洞,是因为struts2由于缩写的导航和重定向前缀“action:”、 “redirect:”、 “redirectAction:” 等参数前缀的内容没有被正确过滤导致的开放式重定向漏洞。

16、重放测试

重放攻击的威胁在于攻击者可以伪装成一个合法用户的身份,然后不被察觉的情况下进行一些恶意操作,本项测试将检测Web服务是否存在重放漏洞。

 

富源科技在网站建设中,个性化定制企业建站,软件开发中,特别是宏骥会员管理系统和宏传智慧党建系统,都有通过漏洞扫描检测环节,对信息收集、配置管理测试、认证测试、命令执行、会话管理测试、授权测试、数据验证测试和Web服务测试等八大类特别注意。

 


返回列表页  

Copyright©2011-2021 北京富源汇丰科技有限公司 版权所有 北京市东城区东直门外东中街32号楼五层

京ICP备11039801号-3京公网安备11010102000564号

  • 企业微信

  • 售前咨询

Copyright©2011-2021
北京富源汇丰科技有限公司 版权所有

京ICP备11039801号-3京公网安备11010102000564号