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、爆字段

 

      

 

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM