典型BUG
- 表格的排序、翻页、添加、删除的联合测试
- 输入框的长度检查
- 数据库表中如果指定utf8长度为150,则可以输入150个中文或英文字母等
- (有时候界面判断失误,却只能输入50个汉字)
- 数据添加的时候引号等特殊符号没有处理导致添加失败
- 搜索时输入条件是%_,则被当成了数据库的通配符,
- 金融字段直接检查表的字段类型不能用float,要用Decimal,float类型会丢失精度
- 外键约束检查
- 通常是下拉列表元素中被引用过的数据不允许删除
- 产品数据被订单引用了后,则产品数据不能删除
- 按钮连续点击
- 在可以连续添加的地方,点击按钮后要置灰(不可点击)
- 多行文本保存格式
- 添加的多行文本内容有换行,缩进,保存完查看的时候,格式要保留
- 日期的有效性检查
- 软件中的日期无法识别11-31日,无法辨识闰年闰月
- 金额允许输入负数(合同,收入,转账等)
- 文本输入框输入特殊符号保存失败:单引号等
- 单选按钮没有默认值以及没有包含所有可选范围
Cookie & Session
Session是保存在服务器的全局变量,但是他会将一个SessionID作为Cookie发送给客户端,以作为下次访问的凭据
Cookie是服务器发给客户端的变量,下次客户端会带给服务器,Cookie服务器是不保存的
Sessionid其实是特殊的 Cookie
Session太多会消耗服务器资源
Cookie有安全性问题
泄露隐私
Cookie欺骗
都有有效期 Session是交互间隔
安全性测试
登录密码
1、密码的提交要用POST方式
2、需要不可逆加密
3、有密码复杂度要求(最小长度,大小写字母数字特殊字符)
4、不可逆的加密方式:MD5/sha1/sha256/SM3
文件上传
不能上传执行文件(*.exe)和脚本文件*.vbs(windows);*.sh(linux)
登录检查
将登陆后才能打开的URL复制到没有登录的浏览器检查,是否跳转到登录页面
Session Cookie检查
Cookie不能包含隐私
Cookie不能存放影响软件的重要信息,特别是在做重要操作的时候,不能相信Cookie
session需要设置有效期,多长时间不操作就失效
SQL注入漏洞测试
在输入框内输入:‘ or 1=1 # 验证是否能登陆成功
如何避免:要将输入的内容转义后再操作数据库
XSS跨站脚本
cross site script
在文本框输入<script>alert("ok")</script>,若出现弹窗,即有漏洞
如何避免:需要将内容做HTMLEncoding编码再将其出入数据库