web测试点整理(六) -- 安全性测试
- SQL注入
简单来说就是在URL嵌入参数或者SQL语句,通过漏洞来获取数据库的内容。
为了阻止这种攻击,需要在代码中加强校验。并且关键数据不能明文存储。
- XSS跨网站脚本攻击
程序或数据库没有对一些特殊字符进行过滤或处理,导致用户所输入的一些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执行这些脚本语句,破坏网站的正常显示,或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性。
document.write("abc")
<script>alter("abc")</script>
- 其它
-
- 安全网页应该使用HTTPS协议
- 崩溃页面中不应该泄露应用程序或服务器信息
- 错误页面或者错误消息不应该投了任何敏感信息
- 测试密码安全性和密码强制策略
- 检查应用程序的注销功能
- cookie信息只能以加密的格式存储
- 密码不应该存储在cookie中
- 检测内存泄露
- 通过在浏览器地址栏中手动更改变量值访问未经授权的应用程序
- 对文件上传功能应使用文件类型限制和反病毒扫面上传的文件
- 验证码更新问题
- 现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
- Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
- 为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
- 当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
- 服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。