首页 > 数据库技术 > 详细

sql注入学习笔记,什么是sql注入,如何寻找漏洞,如何注入攻击,如何预防注入

时间:2018-10-30 15:44:01      阅读:168      评论:0      收藏:0      [点我收藏+]

什么是SQL注入

  • 如何理解sql注入?

    sql注入是一种将sql代码添加到输入参数中,传递到sql服务器解析并执行的一种攻击手法

    示例:

       本地一段代码为get获取id值,输出实际执行sql以及查询id对应内容。

       当id值传为1时,执行结果如下:

      技术分享图片

                        这是正常请求情况,而当我们往id传的参数中注入sql代码时,便可以根据自己需求查询自己想要获取的内容,例如:

       技术分享图片

                      id值传参数为  -1 OR 1=1 ,此时执行代码中id值带入了我们传参数的sql代码,  1=1 为真,OR 1=1便会查出表中所有的内容。            达到攻击目的。

                       所以sql注入攻击就是输入参数未经过滤,直接拼接到sql语句中,解析执行,达到预想之外的行为。

  • sql注入是如何产生的?

      1.web开发人员无法保证所有的输入都已经过滤

      2.攻击者利用发送给sql服务器的输入数据构造可执行代码

      3.数据库未作相应的安全配置(对web应用设置特定的数据库账号,而不使用root或管理员账号,特定数据库账号给予一些简单操作的权限,回收一些类似drop的操作权限)

如何寻找SQL注入漏洞

  • 如何寻找sql注入漏洞?

   (借助逻辑推理)

   1.识别web应用中所有输入点

       web应用中的输入包含三点:get,post,http头信息

   2.了解哪些类型请求会触发异常

       <1>比如get信息请求,获取文章id返回文章内容,当在get传递的id参数值后加“"”双引号,请求结果就会出现数据库异常错误.

         技术分享图片

                      <2>post请求示例,提交文章标题和文章内容,添加入库,正常情况是:

                                 技术分享图片

                               提交入库的sql如下:

                                技术分享图片

                               但是当我们把标题输入为   标题"  ,提交后便会触发sql异常:

                                技术分享图片

   3.检测服务器相应中的异常

如何进行SQL注入攻击 

 

sql注入学习笔记,什么是sql注入,如何寻找漏洞,如何注入攻击,如何预防注入

原文:https://www.cnblogs.com/gyrgyr/p/9876569.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!