随著网络平台的急速产业发展,现代人对互联网的采用愈来愈频密,透过互联网展开网购、缴付等其它销售业务操作方式。而两个潜在性的难题是互联网的可靠性怎样确保,许多骇客借助公交站点可靠性的安全可靠漏洞来盗取采用者的关键信息,使采用者的个人关键信息外泄,因此公交站点的可靠性显得很关键。

Web 控制系统的可靠性试验主要包括附注:

(1)Web 安全可靠漏洞扫描器

(2)服务端关键信息试验

(3)文档和产品目录试验

(4)证书试验

(5)会话管理工作试验

(6)职权管理工作试验

(7)文档H55N试验

(8)关键信息外泄试验

(9)输出数据试验

(10)considerablyJAVA反击试验

(11)方法论试验

(12)浏览器关键信息试验

(13)Web Service 试验

(14)其它试验

本章节先主要给大家介绍第(4)点——证书试验

证书试验主要是验证控制系统对暴力破解的一种防护能力。对于口令的破解,最常用的方式是暴力试验,特别是对于由六位纯数字组成的密码,如电信和金融行业。暴力破解主要是透过穷举法,对密码每一种可能的情况展开一一试验,直到找到正确的密码为止。

试验时主要是试验控制系统防护暴力破解的能力,并不对控制系统展开暴力试验,如果需要展开暴力破解,可以采用许多相关的工具展开试验。证书方面的试验主要主要包括以下几方面内容:

 1)强口令策略试验

 2)证书关键信息出错的提示关键信息试验

 3)避开证书登录试验

 4)验证码试验

 5) 账号锁定阈值试验

 6)找回密码试验

 7)修改密码试验

 8)敏感数据传输试验

(1)强口令策略试验。

强口令策略试验主要是试验在注册或修改采用者口令时,Web 控制系统是否要求采用者口令必须为强口令。

试验时进入密码修改页面,或者注册两个新的采用者,在密码输出框中输出弱密码(如密码的长度少于6 位字符、设置纯数字为密码)。当输出的密码少于6 位字符时,控制系统应该弹出相应的提示关键信息(如密码长度不能少于6 位字符);当输出纯数字时,控制系统也应该弹出相应的提示关键信息(如当前设置的密码为弱密码,是否修改)。

两个强口令策略必须满足以下条件:

1) 口令长度的取值范围为0~32 个字符,口令的最短长度和最长长度均可设置,口令的最短长度建议默认为6 个字符。

2) 口令中至少需要主要包括两个大写字母(A~Z)、两个小写字母(a~z)、两个数字字符(0~9),是否必须包含特殊字符可以设置。

3) 口令中允许同一字符连续出现的最大次数可设置,取值范围为0~9。当设置为0 时,表示无限制,建议默认为3。

4)口令必须设置有效期,最短有效期的取值范围为0~9999 分钟,当取值为0 时,表示无限制,建议默认值为5 分钟;最长有效期的取值范围为0~999 天,当取值为 0 时,表示口令永久有效,建议默认值为90 天。

5)在口令到期前,当采用者登录时控制系统必须展开提示,提前提示的天数可设置,取值范围为1~99 天,建议默认设置为7 天。

6) 口令到达最长有效期后,采用者在进入控制系统前,控制系统需要强制更改口令,直至更改成功。

7) 口令历史记录数可设置,取值范围为0~30,建议默认设置为3 个。

8) 管理工作员、操作方式员、最终采用者修改自己的口令时,必须提供旧口令。

9) 初始口令为控制系统提供的默认口令或者是由管理工作员设定时,则在采用者/操作方式员采用初始口令成功登录后,要强制采用者、操作方式员更改初始口令,直至更改成功。

10)口令不能以明文的形式在界面上显示。

11)口令不能以明文的形式保存,必须加密保存;口令与采用者名关联加密,即加密前的数据不仅主要包括口令,还主要包括采用者名。

12)只有当采用者透过证书之后,才可以修改口令。

13)修改口令的账号只能从服务端的会话关键信息中获取,而不能由客户端指定。

14)实现弱口令词典功能。

(2)证书关键信息出错的提示关键信息试验。

反击者在展开暴力破解时,最终透过穷举法,对采用者名和密码展开逐个实验,当登录错误时,目标服务器会产生相应的提示,而这个提示关键信息很可能存在安全可靠漏洞,如提示该采用者名不存在,像这类提示关键信息就存在安全可靠漏洞。

试验时可以试验两种情况,一是采用错误的采用者名和任意密码展开登录,查看服务器弹出的提示关键信息;二是输出正确的采用者名,输出错误的密码,查看服务器弹出的提示关键信息。对于这类涉及到安全可靠的错误提示关键信息,控制系统在处理时不能给出准确的、具体的提示关键信息。

(3)避开证书登录试验。

避开证书登录试验主要是试验服务器是否可能存在被绕过登录的可能性。避开证书登录其实是SQL 注入的一种采用方式,一般情况下服务验证登录的一般方式是将输出的采用者名和口令与数据库中的记录展开对比,如果输出的采用者名和口令与数据库中的某条记录相同,那么登录成功;反之提示登录失败,代码如下:

Set rs = Server.CreateObject("ADODB.Connection")

sql = "select * from Manage_User where UserName=" & name & " And PassWord="&encrypt(pwd)&""

Set rs = conn.Execute(sql)

这条SQL 语句看似没有难题,当采用者输出合法的采用者名和密码时,如admin/123456,程序可以正确地判断登录是否成功。但如果在采用者名或密码输出框中输出admin or 1=1,那么执行的SQL语句为:

sql = "select * from Manage_User where UserName=admin or 1=1 And PassWord= admin or 1=1"

这样不管采用者名和密码输出的内容是否正确,都能绕过服务器的验证顺利登录成功,因为

1=1这个条件一定为真。

试验时在采用者名和密码输出框中都输出admin or 1=1,验证是否能正确地登录Web 控制系统,控制系统应该能正确地处理这种情况。

(4)验证码试验。

验证码试验主要是试验在登录时控制系统是否提供验证码机制,以及验证码机制是否完善,是否存在安全可靠漏洞。

验证码的试验需要注意以下几个难题:

第一:登录页面是否存在验证码机制,如果不存在,说明控制系统存在安全可靠漏洞。

第二:确保验证码与采用者名、密码是一次性同时提交给服务器展开验证的,如果分开提交、分开验证,那么控制系统存在安全可靠漏洞。

第三:试验后台服务器是否为检查验证码正确后才展开采用者名和密码的检验,如果不是,说明控制系统存在安全可靠漏洞。从性能的角度来说,先检查验证码,如果验证码失败也可以节约服务器的时间,因为可以省去数据库判断的时间。试验时可以故意输出错误的采用者名、密码或验证码,控制系统返回提示关键信息,如果提示验证码错误,说明服务器是先判断验证码,再判断采用者名和密码。

第四:验证码是否为图片且在一张图片中,如果不是图片或不在一张图片中,说明控制系统存在安全可靠漏洞。

第五:在登录界面单击右键查看HTML 源代码,如果在HTML 源代码中可以查看到验证码的值,说明控制系统存在安全可靠漏洞。

第六:生成的验证码是否根据提供的参数生成,如果是,则说明控制系统存在安全可靠漏洞。

第七:试验验证码是否为随机生成,并且不能出现前几次可以随机产生,之后不再随机生成的情况(如前8 次可以随机产生验证码,但此后再也不随机产生验证码)。

第八:试验产生验证码的图片中背景色是否为无规律的点或线条。如果背景为纯色(如纯红色),说明控制系统存在安全可靠漏洞,一般验证码的背景色是由一种颜色向另一种颜色渐变,如图12-15 所示

网站安全检测认证(此网站已安全认证搜狗搜索)-第1张

第九:试验生成的验证码的有效次数只为一次,即只要采用该验证码登录过一次后,该验证码就失效。试验时可以按如下步骤展开:

步骤1:进入登录页面,页面中显示当前生成的验证码。

步骤2:采用工具对GET 和POST 请求展开拦截。

步骤3:输出错误的采用者名或密码,输出正确的验证码,提交请求。

步骤4:将拦截到的GET 或POST 请求拷贝到文档中,并修改采用者名或密码。

步骤5:在开始菜单中运行cmd.exe 程序,在命令行中输出命令telnet <服务器域名或IP地址><端口号>,并按Enter 键。

步骤6:将修改的GET 或POST 请求粘贴到命令行窗口中,并按Enter 键。

步骤7:查看页面中是否提示验证码错误一类的关键信息,如果没有相关提示,则说明服务器存在安全可靠漏洞。

(5)账户锁定阈值试验。

如果缺少锁定策略,那么反击者很可能透过穷举法对控制系统展开暴力破解。如中文网站对同两个IP地址注册账户的限制,一般中文网站不允许同两个IP 地址在24 小时之内注册超过3 次。可以透过账户锁定阈值来设置登录失败多少次后锁定采用者账号,设置次数的范围为1~999,如果设置为0,表示该账号永不锁定;如果定义了账户锁定阈值,那么账户锁定时间必须大于或等于复位时间。

试验时可以故意输出错误的采用者名或密码,重复多次登录,观察目标控制系统返回的关键信息,控制系统应该提示账号已锁定或IP 地址已锁定等类似的关键信息。

(6)找回密码试验。

找回密码试验主要是试验当采用者忘记密码并透过中文网站找回密码时,控制系统是否存在安全可靠漏洞。如果控制系统存在安全可靠漏洞,反击者则可能透过找回密码功能来重置采用者的密码,导致采用者不能正常登录,造成销售业务数据被修改。

具体的试验步骤如下:

步骤1:进入找回密码界面。

步骤2:在找回密码时,需要对采用者的身份展开验证,未对身份验证就发送密码,说明控制系统存在安全可靠漏洞。常用的身份验证的关键信息如许多原来注册时填写的找回密码的难题(如小学所在地),对于这类回答式的难题,应该避开类似判断的难题,如喜欢的宠物是否为小狗这类难题,这样会缩小难题的范围,说明控制系统存在安全可靠漏洞。

步骤3:如果为输出密码的方式,应该查看HTML 源代码,检查是否存在关于密码的许多数据。

步骤4:重置后的密码一般透过采用者的备用邮箱或手机短信来通知采用者,不能以明文的方式直接显示在页面上。

(7)修改密码试验。

修改密码试验主要是试验修改密码的功能是否存在缺陷。具体的试验步骤如下:

步骤1:进入修改密码界面。

步骤2:查看修改密码时是否要求输出旧密码,如果不需要采用者填写旧密码,说明控制系统存在缺陷。

步骤3:修改密码时,需要将旧密码透过两个HTTP 请求提交到服务器,可以透过许多工具

(如WebScarab 工具)展开栏截来试验,如果不是,则说明控制系统存在安全可靠漏洞。

步骤4:试验是否可以修改其它采用者的密码,一般只有管理工作员或有相关职权的采用者可以修改其它采用者的密码。

说明:如果初始口令为控制系统提供的默认口令或者是由管理工作员设定,则在采用者采用初始口令成功登录后,控制系统必须强制采用者更改初始口令,直至更改成功,否则存在安全可靠漏洞。

(8)敏感数据传输试验。

敏感数据传输试验主要是试验控制系统处理采用者名和密码传输时,是否对采用者名和密码展开加密处理。

试验时可以采用工具(如WebScarab 工具)对客户提交的GET 和POST 请求展开拦截,查看采用者登录过程中采用者名和密码是否是采用HTTPS 协议展开传输。

同理,对于找回密码和修改密码功能,采用者名和密码也必须采用HTTPS 协议传输。

HTTPS(Secure HyperText Transfer Protocol,安全可靠超文本传输协议)是两个安全可靠通信通道,基于HTTP 开发,是在HTTP 的基础上加入SSL 层,其加密的过程主要是透过SSL 来完成。HTTPS通信过程如图12-16 所示

网站安全检测认证(此网站已安全认证搜狗搜索)-第2张