MYSQL之sql注入基础知识

一、内联注释

4、单行注释,#后面直接加内容

     多行注释,/**/中间可以跨

二、注入语句   

 1.union联合查询:union操作符用于拼接两个或者多个select查询语句。

                              union中前后2个查询必须拥有相同的列数。

2、order by 语句: 默认按照升序进行排列

3、常用的函数

函数/语句 功能
user() 当前用户名
database() 当前所用数据库
current_user() 当前用户名(可以用来查看权限)
version() 数据库的版本
@@datadir 数据库的路径
load_file() 读文件操作
into outfile()/into dumpfile 写文件操作

 

三、sql注入读写文件的根本条件:

       1、数据库允许导入导出(secure_file_priv):show variables like "secure_file_priv";                 #secure_file_prive直接在my.ini文件里设置即可

       2、当前用户是否对文件具有读写权限(File_priv):查看当前用户 select current_user();

                                                                                    查看当前用户是否具有读写权限: select File_priv from mysql.user where user='root' and host='localhost';

四、字符串连接函数

    1、concat(str1,str2..)直接连接

    2、group_concat(str1,str2)使用逗号作为分隔符

    3、concat_ws(sep,str1,str2)函数使用第一个参数作为分隔符

 五、sql注入的本质

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

      1、用户能够控制输入;

      2、原本程序要执行的代码,拼接了用户输入的数据。

sql注入经常出现的地方:1、用户一切可以输入(可控)的地方

                                       2、数据库一切可能导入、导出的东西。

六、sql注入的分类

      根据数据的传输方式:GET型  POST型 COOKie型

      根据数据的类型:数字型、字符型

    根据注入的模式:基于联合查询的注入模式

                               基于报错的注入模式

                              基于布尔的盲注

                         基于时间的盲注

              堆查询的注入模式

七、sql注入的一般步骤

      1、求闭合字符

      2、选择注入模式

     3、爆数据库

     4、爆表名

    5、爆列名

    6、爆字段

 

      

 

     

posted @ 2018-04-24 19:48  迷茫的县令  阅读(5145)  评论(0编辑  收藏  举报