安全性测试分享之SQL注入

作者:超级管理员 更新时间:2017-10-30 16:59:04 来源:未知 点击:15642
  安全性测试是指机密的数据确保其机密性以及用户只能在其被授权的范围进行操作的这样一个过程  例如:  a机密内容不暴露给不被授权的个人或用户实体  b用户不能单方面有权限屏蔽掉网站的某一功能  安全
   安全性测试是指机密的数据确保其机密性以及用户只能在其被授权的范围进行操作的这样一个过程
  例如:
  a 机密内容不暴露给不被授权的个人或用户实体
  b 用户不能单方面有权限屏蔽掉网站的某一功能
   安全性测试有哪些方面?
   SQL Injection( SQL 注入)
  Cross-site script(XSS)  (跨站点脚本攻击)
  CSRF   (跨站点伪造请求)
  URL跳转
  Directory Traversal   (目录遍历)
  Email Header Injection   (邮件标头注入) 
  exposed error messages(错误信息)
   
  SQL Injection应该称为SQL指令植入式攻击,它是描述一个利用写入特殊SQL程序码攻击应用程序的动作.
  用户可以提交一段 数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即 SQL注入.
   如何判断sql注入存在的情况
  通常情况下,SQL注入一般存在于带有参数传递的URL页面
      例如:HTTP://xxx.xxx.xxx/abc.asp?id=XX
  有时一个动态网页中可能只有一个参数,有时可能有N个参数,有时是整型参数,有时是字符串型参数,不能一概而论。总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL注入。
       例如: 搜索页面
             登录页面
             提交评论页面等等.
  判断过程:
  带有参数传递的URL:
   http://aipai.163.com/s/trade/orderDetail/?orderId=183004
  提交查询的数据库SQL为:
  select * from order where id=183004.
  测试SQL注入是否存在方法:
  1、附加一个单引号  : ’http://...ail.htm?oid=183004
  查询的SQL:select * from orders where id=183004’运行异常
  2、附加 “and 1=1”http://...ail.htm?oid=183004and 1=1, 
  查询的SQL: select * from orders where id=183004and 1=1  运行正常
  3、附加“and 1=2” http://...ail.htm?oid=183004and 1=2, 
  查询的SQL: select * from orders where id=183004and 1=2 运行异常
  如果以上三步骤全面满足,那么一定存在SQL注入 漏洞
   如何进行sql注入的测试?
  对于未明显标识在URL中传递参数的,可以通过查看HTML源代码中
  的"FORM"标签来辨别是否还有参数传递.
  注:在<FORM>和</FORM>的标签中间的每一个参数传递都有可能被利用.
  <form action=“http://www.baidu.com" method="get">
  <div>
  <lab<input type="text" name="yourname" value=""/>
  el>用户名</label>
  <label>密码</label>
  <input type="password" name="yourpwd" value=""/>
  <input type="submit" value="提交">
  </div>
  </form>
  常用的SQL注入语句
  根据实际情况,SQL注 入请求可以使用以下语句:
  返回的是连接的数据库名 and db_name()>0
  作用是获取连接用户名 and user>0
  将数据库备份到Web目录下面 ;backup database 数据库名 to disk='c:\inetpub\wwwroot\1.db';--显示SQL系统版本 and 1=(select @@VERSION) 或an1=convert(int,@@version)—
  ' or 1=1- -
  " or 1=1- -
  or 1=1- -
  ' or 'a'='a
  " or "a"="a
  ') or ('a'='a
   如何防止SQL注入?
  从应用程序的角度来讲,我们要做以下三项工作:
  1、转义敏感字符及字符串,SQL的敏感字符包括:
  “exec”,”xp_”,”sp_”,”declare”,”Union”,”cmd”,”+”,”//”,”..”,”;”,”‘”,”--”,”%”,”0x”,”><=!-*/()|”,和”空格”).
  2、屏蔽出错信息:阻止攻击者知道攻击的结果
  3、在服务端正式处理之前提交数据的合法 性(数据类型,数据长度,敏感字符的校验)
  从测试人员的角度来讲,在程序开发前(即需求阶段),我们就应该有意识的将安全性检查应用到需求测试中,例如对一个表单需求进行检查时,我们一般检验以下 几项安全性问题:
  1、需求中应说明表单中某一FIELD的类型,长度,以及取值范围(主要作用就是禁止输入敏感字符)
  2、需求中应说明如果超出表单规定的类型,长度,以及取值范围的,应用程序应给出不
  包含任何代码或数据库信息的错误提示.
  当然在执行测试的过程中,我们也需求对上述两项内容进行测试。

【推荐】Appium直播课早鸟价限时优惠,APP自动化的首选利器>>

推荐阅读

热门内容

LoadRunner 中怎么对日期进行参

  【背景】  今天在51Testing...

OpenStack Rally 性能测试

  注意点:在测试nova,在配置文件里...

测试微服务之建立测试文化

  这是由来自AWS的工程师Nathan...

华为一员工因说真话连升两级!质量人,你怎

  话说,职场如战场,什么话该说,什么话...

Python爬虫实战:使用Seleniu

  前面我们接触到的,都是使用reque...

值得收藏!这是SQL数据库优化的六种方法

  SQL命令因为语法简单、操作高效受到...

你们这些戏精,终究还是被消费大数据揪出来

  当你为了联谊和相亲置办面膜和彩妆的时...

实用又强大,6 款 Python 时间&

  在使用Python的开发过程中,除了...

沟通为王:安全人员必备的软技能

  网络安全市场对技术性技能的需求凸显,...

英国认为朝鲜是“WannaCry”网络攻

  网易科技讯消息,据路透社报道,英国周...

最新内容

广告的唯一宗旨是卖货,卖货

  其实,名人说的确实都对,但他是站在自己产品或服务角度的对,而我们都拿来当普遍...

哪些常见的影响内容的设计问题需要规避

  1、不合理的排版  排版设计出问题,首当其冲的空间设计不合理。段间距和行间距...

如何编写文章获得更好的排名

  第一选择合适的关键词。利用百度指数或者谷歌的关键词指数工具,选择和文章内容有...

关于SEO如何定义关键词我的一点理解

从事搜刮引擎优化事变已经1年多了,在从前我也是只是做个网站,并未涉及到关于网站搜...

如何让客户信赖你的营销型网站

信赖是成交最重要的基础,只有客户觉得你企业可以信赖,那么成交不是一件难事,许多企...

如何让百度收录热门关键词

百度热门关键词能带来很大的流量,这是大家有目共睹的事情。看看百度指数,如“货架”...

安全性测试分享之SQL注入

  安全性测试是指机密的数据确保其机密性以及用户只能在其被授权的范围进行操作的这...

网站怎样更新文章有利于网站排名呢

网站怎样更新文章有利于网站排名呢网站每天更新多少文章有利于SEO?站长们都知道每...

利用SEO技术来做网站页面优化

网站页面优化可以说是SEO优化最基础的东西,因为一个网站的页面优化直接影响你网站...

LoadRunner 中怎么对日期进行参数化?

  【背景】  今天在51Testing论坛看到这样一个问题:根据一些查询条件,...

网站建设对网络营销推广起到推动作用

在网站推广建设中,一旦关键词选择过于宽泛、匹配模式不够精准,竞争对手恶意点击等等...

OpenStack Rally 性能测试

  注意点:在测试nova,在配置文件里面如果不指定网络id,那么默认是外网的网...

Python Nose框架编写测试用例方法

  1.关于Nose  nose项目是于2005年发布的,也就是py.test改...

如何有选择的对数组进行操作

#includeint a[3] = {1,2,3};int ...

测试微服务之建立测试文化

  这是由来自AWS的工程师NathanPeck发布的“测试微服务”系列文章的第...

影响软件测试人员才能提升的因素

  今天和一位同事谈起影响软件测试工程师获得提升以及获得高新的原因是什么、可能每...

我的疑问

工作有些年头了,但是感觉不出自己有多厉害,顶多也就是经验多了点,而在纯粹的技术领...

如何使用OnCtlColor消息函数对BUTTON设置不同的颜色

本帖最后由martin_tang于2015-10-1823:23:11编辑我的目...

Jmeter接口自动化测试方法简介

软件大小:613KB资源类型:不详授权方式:免费/开源资料   主要内容:   ...

华为一员工因说真话连升两级!质量人,你怎么看?

  话说,职场如战场,什么话该说,什么话不该说,什么场合说什么话......这是...