zoukankan      html  css  js  c++  java
  • SQL注入基础

    万能密码

    在说sql注入分类之前,先来看一下万能密码的构成原理。万能密码是由于某些程序,通过采用判断sql语句查询结果的值是否大于0,来判断用户输入 数据的正确性造成的。当查询之大于0时,代表用户存在,返回true,代表登录成功,否则返回false 代表登录失败。由于 ‘or 1=1--' 在执行后,结果始终为1,所以可以登录成功。因此,被称为万能密码。

    注入的分类

    注入的分类:数字型和字符型。攻击者目的只有一点,那就是绕过程序的限制,使用户输入的数据带入数据库执行,利用数据库的特殊性获取更多的信息或者更大的权限。

    数字型注入

    当输入的参数为整形时,如果存在注入漏洞,可以认为是数字型注入。

    测试步骤:

    (1) 加单引号,URL:www.text.com/text.php?id=3’对应的sql:

    select * from table where id=3’

    这时sql语句出错,程序无法正常从数据库中查询出数据,就会抛出异常;

    (2) 加and 1=1 ,URL:www.text.com/text.php?id=3 and 1=1对应的sql:

    select * from table where id=3’ and 1=1

    语句执行正常,与原始页面如任何差异;

    (3) 加and 1=2,URL:www.text.com/text.php?id=3 and 1=2对应的sql:

    select * from table where id=3 and 1=2

    语句可以正常执行,但是无法查询出结果,所以返回数据与原始网页存在差异如果满足以上三点,则可以判断该URL存在数字型注入。

    字符型注入

    当输入的参数为字符串时,称为字符型。字符型和数字型最大的一个区别在于,数字型不需要单引号来闭合,而字符串一般需要通过单引号来闭合的。

    例如数字型语句:

    select * from table where id =3

    则字符型如下:

    select * from table where name=’admin’

    因此,在构造payload时通过闭合单引号可以成功执行语句

    测试步骤:

    (1) 加单引号:

    select * from table where name=’admin’’

    由于加单引号后变成三个单引号,则无法执行,程序会报错;

    (2) 加 ’and 1=1 此时sql 语句为:

    select * from table where name=’admin’‘ and 1=1’

    也无法进行注入,还需要通过注释符号将其绕过

    Mysql 有三种常用注释符:

    -- 注意,这种注释符后边有一个空格

    # 通过#进行注释

    /* */ 注释掉符号内的内容因此,构造语句为:

    select * from table where name =’admin’' and 1=1—’

    可成功执行返回结果正确;

    (3) 加and 1=2— 此时sql语句为:

    select * from table where name=’admin’‘ and 1=2 –’

    则会报错如果满足以上三点,可以判断该url为字符型注入。

    Sql注入分类可以按照参数类型分为数字型和字符型。还有一些常见的注入分类,例如:

    (1)POST:注入字段位于POST数据中;

    (2)Cookie:注入字段位于Cookie数据中;

    (3)延时注入:根据数据库延时特性的注入

    (4)搜索注入:注入字段在搜索的位置;

    (5)base64注入:注入字符经过base64编码后注入;

    (7)错误注入:基于数据库错误信息的响应注入;

    ​ ...等等

  • 相关阅读:
    正则表达式练习,持续更新中
    Jquery使用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
    SQL查找 删除重复数据只保留一条
    TreeView(C#)无限目录树代码片段
    ora-01440:要减小精度或标度,则要修改的列必须为空
    SQL查询和删除重复字段的内容
    CodeSmith(C#)简单示例及相关小知识
    MSSQL 自定义函数详解
    一些精妙的sql语句收集
    134.Gas Station
  • 原文地址:https://www.cnblogs.com/zztac/p/11366492.html
Copyright © 2011-2022 走看看