(3)跨站脚本攻击
  XSS是如何发生的呢?假如有下面一个textbox:
  <input type="text" name="address1" value="value1from">
  value后面的值是来自用户的输入,如果用户输入
  "/><script>alert(document.cookie)</script><!-
  那么会变成
  <input type="text" name="address1" value=""/><script>alert(document.cookie)</script><!- ">
  嵌入的JavaScript代码将会被执行
  或者用户输入的是:
  "onfocus="alert(document.cookie)
  那么会变成
  <input type="text" name="address1" value=""onfocus="alert(document.cookie)">
  事件被触发的时候嵌入的JavaScript代码将会被执行。
  (4)缓冲区溢出
  缓冲区溢出已成为软件安全的头号公敌,许多实际中的安全问题都与它有关。造成缓冲区溢出问题通常有以下两种原因。①设计空间的转换规则的校验问题。即缺乏对可测数据的校验,导致非法数据没有在外部输入层被检查出来并丢弃。非法数据进入接口层和实现层后,由于它超出了接口层和实现层的对应测试空间或设计空 间的范围,从而引起溢出。②局部测试空间和设计空间不足。当合法数据进入后,由于程序实现层内对应的测试空间或设计空间不足,导致程序处理时出现溢出。
  (5)加密弱点
  这几种加密弱点是不安全的:①使用不安全的加密算法。加密算法强度不够,一些加密算法甚至可以用穷举法破解。②加密数据时密码是由伪随机算法产生的,而产生伪随机数的方法存在缺陷,使密码很容易被破解。③身份验证算法存在缺陷。④客户机和服务器时钟未同步,给攻击者足够的时间来破解密码或修改数据。⑤未对加密数据进行签名,导致攻击者可以篡改数据。所以,对于加密进行测试时,必须针对这些可能存在的加密弱点进行测试。
  四、做好安全性测试的建议
  其实许多软件安全测试经验告诉我们,想要做好安全测试其实并不是件容易的事,不光要使用高效的软件安全测试技术和工具,而且要充分了解软件安全漏洞,以及一些黑客攻击手段,还要掌握丰富而全面的技能,如编程、网络、数据库等知识。技术在不断的发展,只有不断的学习、积累、总结,从而终以量变达到质变。
  希望通过这篇文章可以让大家对安全测试有所了解,更多安全测试技术有待我们大家一起交流、探讨。