恭喜发财dife 发表于 2018-4-27 16:54:15

安全测试(3)- 安全测试检查点

检查点1
(1)验证输入(2)数据类型(字符串,整型,实数等)(3)允许的字符集(4)最小和最大的长度(5)是
否允许空输入(6)参数是否是必须的(7)重复是否允许(8)数值范围(9)特定的值(枚举型)(10)特
定的模式(正则表达式)
检查点2
有问题的访问控制:主要用于需要验证用户身份以及权限的页面,复制该页面的url地址,关闭该页面以后,
查看是否可以直接进入该复制好的地址;

例:从一个页面链到另一个页面的间隙可以看到URL地址,直接输入该地址,可以看到自己没有权限的页面
信息
检查点3
各级访问权限是否合理:

(1)用户生命周期是否有限制;

(2)低级别的用户是否可以操作高级别用户命令;

(3)用户是否自动超时退出,超时设置是否合理,用户数据是否会丢失。
检查点4
(1)跨站脚本(XSS):攻击者使用跨站脚本来发送恶意代码给没有发觉的用户,窃取他机器上的任意资料;

(2)HTML标签:<>,</>;

(3)转义字符:&amp(&);<&lt(<);>gt(>); &nbsp(空格);

(4)是否允许空输入;

(5)特殊字符:''<>/

例:对Grid、Label、Treeview类的输入框未作验证,输入的内容会按照html语法解析出来
检查点5
(1)注入式漏洞:用户登录处、不用登录可以查看到的数据库中的数据列表尤为重要。

例:一个验证用户登陆的页面,如果使用的sql语句为:Select * from table A where username = ' ' + username
+ '' and password.

(2)Sql输入(参考我前面写的sql注入)
检查点6
表单提交安全测试:

适用范围:有表单提交的地方、有HTTP请求的地方(包括GET、POST请求)

1)表单中注入XSS脚本

2)表单中注入SQL脚本
检查点7
没有加密关键数据:

例:View-source:http地址可以查看源代码, 在页面输入密码,页面显示的是*****,右键,查看源文件是否
可以看见刚才输入的密码;
检查点8
不恰当的异常处理:程序在抛出异常的时候给出了比较详细的内部错误信息,暴露了不应该显示的执行细节,
网站存在潜在漏洞;
检查点9
(1)URL安全测试1

适用范围:URL中含有参数,也就是通过GET方式传递的HTTP请求;

GET方式:方式在客户端通过URL提交数据,数据在URL中可以看到;

POST方式:数据放置在HTMLHEADER内提交,数据在URL中看不到;

GET只能传输比较少的数据,安全性较低,POST传输数据较多,安全性也比GET高;

(2)URL安全测试2

URL参数检查:

         a. 对URL中参数信息检查是否正确

            如:URL中的订单号、金额允许显示出来的话,需要验证其是否正确;

         b. 对于一些重要的参数信息,不应该在URL中显示出来

            如:用户登录时登录名、密码是否被显示出来了;

(3)URL安全测试3

URL参数值篡改:修改URL中的数据,看程序是否能识别:

如:对于以下URL,修改其中planId,看是程序是否可以识别:



页: [1]
查看完整版本: 安全测试(3)- 安全测试检查点