安全测试笔记一
安全测试板块是2010年的笔记整理,基础知识来自软件评测师教程,工具也是新版重新截图。
输入验证
检验对应用程序的输入,以减小恶意错误格式输入导致应用程序引发安全隐患。
1.SQL注入。
检测系统是否对SQL查询语句的条件、参数等输入进行过滤和约束。经典SQL注入检测方法有:
A,单引号检测
B,or 1=1 或者 or 1=2
2.XSS跨站脚本。
检测系统是否对提交的数据进行编码转换处理或约束。 经典跨站检测方法是提交一段脚本代码。
3.缓冲区溢出。
检测系统是否对提交的数据合法性进行约束,如数据类型,长度等。
4.拒绝服务。
检测系统是否对恶意请求进行科学的处理。经典的拒绝服务检测方法有
A,大量的ping命令致使DNS无法处理数据包
B,大量的请求操作致使服务器停止服务。
常见输入验证漏洞 | |
漏洞 | 风险 |
未验证html,javascript,vbscript的输入 | 易受到XSS攻击 |
未验证SQL语句中的参数 | 易受SQL注入攻击 |
使用输入文件名,URL或用户名制定安全策略 | 易受到规范化错误攻击 |
未验证的恶意格式输入 | 易受到缓冲区攻击 |
2.2 身份验证
检验系统是否采用合理的用户认证机制,从而区别合法身份与非法身份的用户。
1.帐号及密码的验证机制是否严格
a)帐号和密码的命名规则是否严格
b)帐号和密码的长度限制是否严格
c)密码是否应用加密,是否强制时效性
d)应用程序是否允许一个客户端可以同时使用多个帐号访问系统
e)一个帐号是否可以在多台客户端同时访问系统
f)在几次使用错误的密码时,是否禁用帐号
2.是否区分公共访问区域和受权访问区域
3.是否有严格的角色划分及对应的权限定义。
4.数据库帐号采用何种证认机制
5.权限提升
常见身份验证漏洞 | |
漏洞 | 风险 |
弱密码 | 易受到字典猜测破解 |
配置文件使用明文 | 易受到下载配置文件使主机不安全 |
通过网络传递明文数据 | 易受到网络监控获取数据的攻击 |
帐号的权限过大 | 易受到提升权限的攻击 |
长会话 | 易受到会话劫持或session,cookie欺骗的攻击 |
2.3 授权
检测应用程序如何向用户授权,应用程序的数据库帐号是否在数据库端授权以及程序程序如何控制系统级资源的访问。
1,应用程序是否对所有帐号进行授权
2,是否使用基于角色的授权方式
3,数据库帐号是否也应用授权(默认帐号如sa将加大被攻击的风险)
4,应用程序是否具有默认权限,默认权限是否限制为最小权限
常见授权漏洞 | |
漏洞 | 风险 |
网关设置不安全 | 用户能不经授权进行访问主机 |
不能根据应用程序身份锁定系统资源 | 攻击者可以利用应用程序操作主机 |
授权过大 | 加大机密数据涉漏的风险 |
2.4 敏感数据
检查应用程序在物理存储,内存,客户端中的敏感数据处理方式。
1,是否在cookie中存储数据,如帐号,密码,角色等资料,这些数据是否加密
2,cookie数据是否在客户端长久保留(长时间在客户端保留cookie不利于系统安全)
3,敏感数据是否作为参数传递,特别是在URL中作为页面参数
(敏感数据作为参数传递是不安全的做法)
4,敏感数据是否明文使用
常见敏感数据漏洞 | |
漏洞 | 风险 |
敏感数据存储没有严格控制 | 加大机密信息涉漏的风险 |
在代码中存储机密信息 | 代码经反编译后任何信息是可见的 |
在网络中明文传递敏感数据 | 加大数据被篡改或截取的风险 |
以明文形式存储敏感数据 | 任何能登录主机的用户都可查看敏感数据 |
2.5 会话管理
会话管理对于WEB应用程序相当重要,会话的处理影响到应用程序的整体安全。
1,是否加密会话数据
2,是否在查询字符中传递会话数据(会话如果作为参数传递将大大减低安全性)
3,是否限制会话的时效性
该文章对你有帮助吗,求分享转发: 分享到QQ空间 分享给QQ好友