Web安全测试时一个比较复杂的过程,软件测试人员可以在其中做一些简单的测试,如下:
Web安全测试也应该遵循尽早测试的原则,在进行功能测试的时候(就应该执行下面的测试Checklist
安全测试场景),然后在功能测试完成之后、性能测试之前进行扫描测试,可以用工具AppScan,Hp
Webinspect,AWS等漏洞扫描工具进行扫描。
第一步:比较常用的安全测试Checklist如下:
1:不登录系统,直接输入登录后的页面URL是否可以访问。
2:不登录系统,直接输入下载文件的URL是否可以下载文件。
3:退出登录后,点击浏览器的的后退按钮能否访问之前的页面。
4:手动更改URL中的参数值能否访问没有权限访问的页面。如普通用户对应的URL中的参数为l=e,
高级用户对应的URL中的参数为l=s,以普通用户的身份登录系统后将URL中的参数e改为s来访问没有
权限访问的页面。
5.所有凭证都应该通过一个加密传输通道(比如在登录的过程中)。
6:安全页面应该使用https协议。
7:验证sql注入(包括数字型注入和字符型注入等)。
sql注入:
1.可以把一个接口理解为一个sql 语句
2.比如一个密码登录的post请求。就可以想象为执行了一条
select *from user where name= “user” and password=“123”
在代码中#表示注释的意思
select *from user where name= “user” # and password=“111”
相当于 #后面的都被注释了 执行的sql语句为
select *from user where name= “user”
Mysql 中还有一种注释方式 — 等同于#
这两种方式 都相当于 输入个错误的密码或者不输入密码就可以登录上user的账号。
8:验证XSS跨站脚本漏洞,执行新增操作时候,要在所有输入框中输入
9.对文件上传功能应使用文件类型限制,或exe等可执行文件后,确认在服务器端是否可直接运行。
10:验证上传漏洞,只要Web应用程序允许上传文件,那就有可能存在文件上传漏洞。因为有些程序
没有对上传的文件进行格式验证,或者纯粹只在客户端做JS验证,攻击者可以通过firebug删除客户端
的javascript验证,或者通过Burp Suit按正常的流程通过JavaScript验证,然后在传输的http层做手脚。
11.错误信息中是否含有SQL语句,SQL错误信息以及web服务器的其他敏感信息。
12:验证Session的有效期。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/te-aq/8361.html