qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

为什么要进行安全性测试?

  安全性测试都有什么?简单的就包括跳过权限验证啊,修改提交信息啊,复杂的呢,就有sql盲注、跨站点脚本等等。这些咱们暂时不一一细表,只说说我们为什么要进行安全性测试。、
  其实网上关于安全性测试的资料并不是非常多,即使有人关注已只是很浅显的谈到部门安全性因素。当然,据我了解部分大公司都有自己的安全性测试团队,这部分工作并不由测试人员进行。
  胡扯了两句,今天我们来聊聊为什么进行安全性测试,或者说,安全性到底会引起哪些问题、后果。
  第一,提到安全。我们一个产品一个网站最需要加强安全防范的就是数据库。那么如果缺少了安全性测试,在高手的sql盲注下,你的数据库就会逐步展现在黑客的面前,无论是数据库类型、表结构、字段名或是详细的用户信息,都有无数种手段可以让人“一览无余”。
  第二,就是权限。网站一般都规定了什么样的用户可以做什么事。比如版主可以修改所有人的帖子,而你普通用户只能编辑自己的帖子,同样游客只能看大家的帖子。这就是简单的权限。如果少了安全性保证,那么就容易有人跳出权限做他不该做的事情。
  简单举个小例子,一个登录模块,让你输入用户名密码。我们会老老实实的输入我们的用户名密码,比如“风落几番”-“password”。如果我们刻意的去绕过登录认证呢?
  猜想一下这个sql,单说用户名,开发人员很可能会这样去数据库里对比:
  Select count(id) from sys_user where username=‘XXX’
  当然可能更复杂,咱们就用这个说。如果我们在输入框里输入一段特殊的字符会如何?
  ’or‘1=1
  这是段神奇的字符,因为这样这个sql就变成:
  Select count(id) from sys_user where username=‘’or‘1=1’
  好吧,我们就跳过了用户名的验证。。。
  说的好基础和无聊的感觉,其实这就是安全性的一部分。
   接着说第三,就是修改提交数据信息。曾经我们公司做过一个关于在线支付的商城,在安全性测试过程中,我发现通过抓包抓到的提交价格,经过修改再发包可以通过。简单来说就是本来100块钱买的东西,我抓包修改为1块就能成功购买。这就成为了一个巨大的隐患。
  再说第四,类似跨站脚本的安全隐患。这方面网上资料很多,具体过程呢就像这样:
  1.HTML注入。所有HTML注入范例只是注入一个JavaScript弹出式的警告框:alert(1)。
  2.做坏事。如果您觉得警告框还不够刺激,当受害者点击了一个被注入了HTML代码的页面链接时攻击者能作的各种的恶意事情。
  3.诱捕受害者,可能会redirect到另一个钓鱼网站之类的,使其蒙受损失。

posted on 2013-12-10 10:51 顺其自然EVO 阅读(469) 评论(0)  编辑  收藏 所属分类: 安全性测试


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜