什么是安全测试(二)

一 网络安全性测试

系统网络安全的测试要考虑问题

  1. 测试采取的防护措施是否正确装配好,有关系统的补丁是否打上
  2. 模拟非授权攻击,看防护系统是否坚固
  3. 采用成熟的网络漏洞检查工具检查系统相关漏洞(用最专业的黑客攻击工具攻击试一下,最常用的是 NBSI系列和IPhacker IP)
  4. 采用各种木马检查工具检查系统木马情况
  5. 采用各种防外挂工具检查系统各组程序的客外挂漏洞

二 数据库安全性测试

数据库安全考虑问题:

  1. 系统数据是否机密(比如对银行系统)
  2. 系统数据的完整性
  3. 系统数据可管理性
  4. 系统数据的独立性
  5. 系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)

三 sql注入

  1. SQL注入攻击(SQL injection)
  2. 现在举一个小小的例子,假如以下sql是用来在网站登录入口入执行用户验证时的查询代码:
SELECT count(*)  
FROM users_list_table  表名
WHERE username='USERNAME'   where条件
AND password='PASSWORD'
  1. 以上的USERNAME就是我们登录时提供的用户名
  2. PASSWORD就是我们登录时提供的密码
  3. 当用户输入正确的用户名和密码时,这条语句的执行结果将为真(True),否则为假(False),为真时我们就认为认证通过,为假时就认为认证失败,即非法登录
  4. 试想一下,如果我在输入用户名和密码的时候输入如下的内容
用户名:a' or 'a'='a
密码:a' or 'a'='a    
用代入法把用户名和密码输入值代入到上述的sql脚本里结果如下
SELECT count(*)
FROM users
WHERE username='a' or 'a'='a'
AND password='a' or 'a'='a'
  1. 这条语句的执行结果就永远是真了,此时不需要有帐号,就直接登录成功了

四 跨站脚本攻击(CSS or XSS)

4.1 XSS攻击简介

XSS是一种存在Web应用中,允许黑客以最终用户的身份向Web应用注入恶意脚本,以获取其他用户重要数据和隐私信息为目的的一种攻击形式

4.2 XSS可使用的技术

有JavaScript、VBScript、 ActiveX、 或 Flash,
且通常通过页面表单提交注入到web应用中并最终在用户的浏览器客户端执行

例如,一个没有经过安全设计并实现的论坛,当你在跟贴时在正文输入这样的代码

<script>alert(document.cookie);</script>

当其它用户浏览时便会弹出一个警告框,内容显示的是浏览者当前的cookie串,如果我们注入的不是以上这个简单的测试代码,而是一段精心设计的恶意脚本,当用户浏览此帖时,cookie信息就可能成功的被攻击者获取,此时浏览者的帐号就很容易被攻击者掌控了

4.3 简要的解决方案

不管是哪一种技术实现的XSS攻击,最终都离不开
浏览器的解析
脚本语法
脚本需要一定的长度

比如:javascript离不开:“<”、“>”、“(”、“)”、“;”…等,所以我们需要在输入或输出时对其进行字符过滤或转义处理,允许可输入的字符串长度限制等

五 URL安全测试

1)适用范围: URL中含有参数,也就是通过GET方式传递的HTTP请求
2)GET只能传输比较少的数据,安全性较低,POST传输数据较多,安全性也比GET高
3)测试关注点:

  • URL 参数检查
    对URL中参数信息检查是否正确
    对于一些重要的参数信息,不应该在URL中显示出来
  • URL参数值篡改
    修改URL中的数据,看程序是否能识别
  • URL中参数修改进行XSS注入(跨站点脚本,也就是把URL中的参数改成JS脚本)
例如:http:xxx?a=2
改成:http:xxx?a=2<script>alert("hello");<script>
  • URL参数中进行SQL 注入
 如:http://demo.testfire.net这个网站中,选择sign in
设置用户名为 admin ' or '1'='1   密码为任意数字  ,点击登录就可以登录

六 session测试

Session是客户端与服务器端建立的会话,总是放在服务器上的,服务器会为每次会话建立一个sessionId,每个客户会跟一个sessionID对应

并不是关闭浏览器就结束了本次会话,通常是用户执行“退出”操作或者会话超时时才会结束

6.1 Session互窜

Session互窜即是用户A的操作被用户B执行了
验证Session互窜,其原理还是基于权限控制
  
Session互窜测试方法

  1. 多TAB浏览器,在两个TAB页中都保留的是用户A的session记录,然后在其中一个TAB页执行退出操作,登陆用户B,此时两个TAB页都是B的session,然后在另一个A的页面执行操作,查看是否能成功,预期结果:有权限控制的操作,B不能执行A页面的操作,应该报错
6.2 Session超时

基于Session原理,需要验证系统session是否有超时机制,还需要验证session超时后是否还能操作

Session超时测试方法

  1. 打开一个页面,等着10分钟session超时时间到了,然后对页面进行操作,查看效果
  2. 多TAB浏览器,在两个TAB页中都保留的是用户A的session记录,然后在其中一个TAB页执行退出操作,马上在另外一个页面进行要验证的操作,查看是能继续到下一步还是到登录页面
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试小姐姐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值