为什么要进行安全性测试?(安全性测试启蒙教育)

2015-07-06 16:01:00
Besttest
原创
3479
摘要:为什么要进行安全性测试?
     安全性测试 都有什么?简单的就包括跳过权限验证啊,修改提交信息啊,复杂的呢,就有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到另一个钓鱼网站之类的,使其蒙受损失。

      有点写累了,就先介绍到这里,启蒙一下,具体的测试方法会慢慢介绍给大家。
公司简介
Besttest,全称北京百测技术咨询有限公司,是目前中国唯一一家专业高端软件培训机构,长年致力于测试领域在职短期提升、企业内训、技术推广、免费公开课等多种服务方式,持续为软件测试工程师提供优秀的学习平台。