• 有关SQL注入的一些小知识点


    1.判断注入点:

    本质原理是找一个需要后台处理后,提交给数据库的点,我理解为用户可以控制并输入后台数据库的变量,比如我们DVWA SQL injection 的ID  ,我们可以通过闭合单引号,#注释掉后面限制语句,16进制转换等方法进行绕过,将我们本应输入的变量变成一条查询语句获取数据库的信息。

    一般分为三大类:


        Get参数触发SQL注入
        POST参数触发SQL注入
        Cookie触发SQL注入
        
    判断是数字型还是字符型注入方法
        

    数字型注入:
        1.修改参数为 id = 1’出错,无法正常从数据库查出数据
        2.修改参数为 id = 1 and 1=1  语句执行正常
        3.修改参数为 id = 1 and 1=2  出错,无法正常从数据库查出数据
        通过上面三次输入 可以判断出是否为数字型注入 (如果有回显页面在第一次输入id=1’报错,报错页面为 '1''之类的多个单引号包含1,可以猜测大概率是字符型注入)  

    字符型注入:
        1.修改参数为:id = 1’报错
        2.修改参数为:id = 1' and '1' = '1 正常
        3.修改参数为   id = 1' and '1' = '2 报错
    这时可以判断为字符型注入,注意字符型注入后面有单引号 可以用#等符号注释掉

    常用函数:
    @@datadir 获取数据库的存储目录

    @@version_compile_os 查看服务器的操作系统

    user()查看当前连接数据库的用户

    database() 获取当前所连接数据库名函数

    version()查看数据库的版本

    concat(str1,str2) 函数 合并两个字符串 实现无间隔连接str1和str2

    concat_ws(separator,str1,str2) 函数 用分隔符separator连接两个字符串str1和str2,例如 分隔符为-  就实现了str1-str2

    group_concat(str1,str2) 函数  将多行查询结果以逗号分隔全部输出

    group_concat(concat_ws(seperator,str1,str2)) 函数
    将多行查询结果以逗号分隔全部输出,每一行的结果可用设置的分隔符作字段的间隔


    mysql中的information_schema 结构用来存储数据库系统信息:
    1.schemata  存储数据库名
    2.schema_name,表示数据库名称
    3.tables 存储表名
    4.table_schema 表示表所属的数据库名称;
    5.table_name 表示表的名称
    6.columns 存储字段名的
    7.table_schema表示表所属的数据库名称;
    8.table_name表示所属的表的名称
    9.column_name表示字段名

    得到当前库的所有表
    select group_concat(table_name) from information_schema.tables where table_schema=database()

    得到表中的字段名
    select group_concat(column_name) from information_schema.columns where table_name=users

    得到用户,密码
    select group_concat(usernam,password) from users

                                            

                                                                                                               不定期更新

                  最后更新于:2020.3.3 10:03 

  • 相关阅读:
    底层原理
    No.1
    No.3
    No.0
    php 10进制转62进制,可用于短网址生成
    php实现斐波那契数列
    五种常见的 PHP 设计模式
    PHP利用MySQL保存session
    HTTP相关
    如何优化tomcat配置(从内存、并发、缓存4个方面)优化
  • 原文地址:https://www.cnblogs.com/Zh1z3ven/p/12400780.html
Copyright © 2020-2023  润新知