网站安全性测试要点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 安全测试检查点

1.1网页安全检查点

1.1.1输入的数据没有进行有效的控制和验证

1)数据类型(字符串,整型,实数,等)

2)允许的字符集

3)最小和最大的长度

4)是否允许空输入

5)参数是否是必须的

6)重复是否允许

7)数值范围

8)特定的值(枚举型)

1.1.2用户名和密码

1)检测接口程序连接登录时,是否需要输入相应的用户

2)是否设置密码最小长度(密码强度)

3)用户名和密码中是否可以有空格或回车?

4)是否允许密码和用户名一致

5)防恶意注册:可否用自动填表工具自动注册用户?

6)遗忘密码处理

7)有无缺省的超级用户?

8)有无超级密码?

9)是否有校验码?

10)密码错误次数有无限制?

11)大小写敏感?

12)口令不允许以明码显示在输出设备上

13)强制修改的时间间隔限制(初始默认密码)

14)口令的唯一性限制(看需求是否需要)

15)口令过期失效后,是否可以不登陆而直接浏览某个页面

16)哪些页面或者文件需要登录后才能访问/下载

17)cookie中或隐藏变量中是否含有用户名、密码、userid等关键信息

1.1.3直接输入需要权限的网页地址可以访问

避免研发只是简单的在客户端不显示权限高的功能项

举例Bug:

1)没有登录或注销登录后,直接输入登录后才能查看的页面的网址(含跳转页面),

能直接打开页面;

2)注销后,点浏览器上的后退,可以进行操作。

3)正常登录后,直接输入自己没有权限查看的页面的网址,可以打开页面。

4)通过Http抓包的方式获取Http请求信息包经改装后重新发送

5)从权限低的页面可以退回到高的页面(如发送消息后,浏览器后退到信息填写页面,

这就是错误的)

1.1.4上传文件没有限制

1)上传文件还要有大小的限制。

2)上传木马病毒等(往往与权限一起验证)

3)上传文件最好要有格式的限制;

1.1.5不安全的存储

1)在页面输入密码,页面应显示“*****”;

2)数据库中存的密码应经过加密;

3)地址栏中不可以看到刚才填写的密码;

4)右键查看源文件不能看见刚才输入的密码;

5)帐号列表:系统不应该允许用户浏览到网站所有的帐号,如果必须要一个用户列表,

推荐使用某种形式的假名(屏幕名)来指向实际的帐号

1.1.6操作时间的失效性

1)检测系统是否支持操作失效时间的配置,同时达到所配置的时间内没有对界面进行

任何操作时,检测系统是否会将用户自动失效,需要重新登录系统。

2)支持操作失效时间的配置。

3)支持当用户在所配置的时间内没有对界面进行任何操作则该应用自动失效。

如,用户登陆后在一定时间内(例如15 分钟)没有点击任何页面,是否需要重新登陆才能正常使用。

1.1.7日志完整性

1)检测系统运行时是否会记录完整的日志

如进行详单查询,检测系统是否会记录相应的操作员、操作时间、系统状态、操作事项、IP地址等。

2)检测对系统关键数据进行增加、修改和删除时,系统是否会记录相应的修改时间、

操作人员和修改前的数据记录

1.2系统服务器安全检查点

1)检查关闭不必要的服务

2)是否建立安全账号策略和安全日志

3)是否已设置安全的IIS,删除不必要的IIS组件和进行IIS安全配置

4)Web站点目录的访问权限是否过大

5)服务器系统补丁是否打上,是否存在系统漏洞

6)扫描检测木马

1.3数据库安全检查点

1.系统数据是否机密

1)尽量不要使用Sa账户,密码够复杂

2)严格控制数据库用户的权限,不要轻易给用户直接的查询、更改、插入、删除权限。可以只给用户以访问视图和执行存储过程的权限

3)数据库的帐号,密码(还有端口号)是不是直接写在配置文件里而没有进行加密

2.系统数据的完整性

3.系统数据可管理性

4.系统数据的独立性

5.系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)

1)服务器突然断电,这可能导致配置文件的错误导致无法访问或者数据的丢失;

2)重做日志发生损坏,这可能导致数据库管理员无法把数据恢复到故障发生时的点;

3)硬盘发生故障而导致数据丢失,这主要是要测试备份文件异地存放的有效性;

4)数据批量更新的错误处理,这主要是数据库备份测试数据库管理员在进行批量更新之前是否有先对数据库进行备份的习惯,等等。

1.3支付接口检查点

1. 支付的接口

2.支付的入口

3.与各个银行的数据接口安全

4. 与支付宝的接口

2 信息安全入侵测试

2.1上传漏洞

利用上传漏洞可以直接得到网页管理员权限,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。“上传漏洞”入侵是目前对网站最广泛的入侵方法。90%的具有上传页面的网站,都存在上传漏洞。网站有上传页面,如果页面对上传文件扩展名过滤不严,导致黑客能直接上传带木马的文件,直接上传后即拥有网站的管理员控制权。

2.2暴库

暴库,就是通过一些技术手段或者程序漏洞得到数据库的地址,并将数据非法下载到本地。比如一个站的地址为/dispbbs.asp?boardID=7&ID=161 ,就可以把com/dispbbs中间的/换成%5c,如果有漏洞直接得到数据库的绝对路径。用迅雷什么的下载下来就可以了。还有种方法就是利用默认的数据库路径/ 后面加上conn.asp 如果没有修改默认的数据库路径也可以得到数据库的路径。

2.3注入漏洞

注入漏洞是利用某些输入或者资料输入特性以导入某些资料或者代码,造成目标系统操作崩溃的电脑漏洞,通常这些漏洞安全隐患是由不充分的输入确认及其他种种因素造成的。我们需要使用到以下几种方式进行测试:

2.3.1 SQL攻击

简称注入攻击,是发生于应用程序之数据库层的安全漏洞。简而言之,是在输入的字符串之中注入SQL指令,在设计不良的程序当中忽略了检查,那么这些注入进去的指令就会被数据库服务器误认为是正常的SQL指令而运行,因此遭到破坏。

测试方法:

某个网站的登录验证的SQL查询代码为

strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');"

恶意填入

userName = "' OR '1'='1";

passWord = "' OR '1'='1";

时,将导致原本的SQL字符串被填为

strSQL = "SELECT * FROM users WHERE (name = '' OR '1'='1') and (pw = '' OR '1'='1');"

也就是实际上运行的SQL命令会变成下面这样的

strSQL = "SELECT * FROM users;"

因此达到无帐号密码,亦可登录网站。

相关文档
最新文档