select
user()
; 當前mysql 登入使用者名稱
select
database()
; 當前mysql 資料庫名
select version(
); 當前mysql 版本
select @@version
; 當前mysql 版本
select @@basedir
; 當前mysql 安裝路徑(mysql安裝目錄)
select
(length(
"abc"))
; 字串長度
select concat(
"ab"
,"cd"
); 連線字串
select substring(str,pos,len)
; pos可以是負值,表示倒數取
select substring(
"hello",3
); 返回llo,擷取從第三個字元開始之後的所有字元
select substring(
"hello",2
,2); 返回el,只擷取從第2個字元開始之後的2個字元
select
mid(
"hello",2
,2); 返回el,只擷取從第2個字元開始之後的2個字元
select ord(
"a")
; 返回ascii碼值,用單引號也可
select sleep(4)
; 睡眠4秒,睡眠指定描述
select
*from biao limit m,n; 從表的m行(位置,行從0開始算)開始,取到m+n行(取n條記錄)
select
*from biao limit5,
10; 檢索記錄行 6
-15
在url中,如果是get請求(也就是在瀏覽器中輸入的url) 解釋執行的時候,url中#號是用來指導瀏覽器動作的,對伺服器端無用。
所以,http請求中不包括#,使用#閉合無法注釋,會報錯;而使用--
(有個空格),在傳輸過程中空格會被忽略,同樣導致無法注釋。
所以在get請求傳參注入時才會使用--+
(或者--%20
)的方式來閉合,因為+會被解釋成空格。
--%20
把空格轉換為urlencode編碼格式。同理把#
變成%23
,也不報錯。
urlencode是乙個函式,可將字串以url編碼,用於編碼處理。
如果是post請求,則可以直接使用#
來進行閉合。常見的就是表單注入,如我們在後台登入框中進行注入。
url(uniform resource locator,統一資源定位器),是www的統一資源定位標誌,指網路位址。
url由4部分組成:協議、主機、埠、路徑。
url編碼(url encoding),也稱作百分號編碼(percent-encoding), 是特定上下文的統一資源定位符 (url)的編碼機制。
編碼原理:
將需要轉碼的字元轉為16進製制,然後從右到左,取4位(不足4位直接處理),每2位做一位,前面加上%,編碼成%xy格式。
例如:空格ascii碼是32,對應16進製制是20,那麼urlencode編碼結果是:%20
,但在新標準中空格對應的是+
。
部分轉換規則如下:
空格 ! " # $ % & ' ( ) 0 1
%20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31
+ @ : ; < = > ? z ~
%2b %40 %3a %3b %3c %3d %3e %3f %7a %7b %7d %7e
sql注入準備知識
這篇文章會介紹一些sql注入的準備知識,都是基於mysql資料庫的 sql語言是什麼 一種功能極強的關聯式資料庫標準語言,不需要定義如何訪問資料庫,只需要告訴資料庫要做什麼 sql語言的主要功能 基本資料庫資訊 操作查詢出的資料函式 我初期學習的時候一直感到疑惑的語句,在這裡記錄一下 select ...
SQL注入 MySql查詢基礎
登陸 mysql u root p退出 exit 1 檢視所有資料庫 mysql show databases database information schema mysql performance schema 3 rows in set 0.00 sec 從元資料中查詢所有資料庫 mysql...
SQL注入 聯合查詢注入
注入條件 頁面有顯示位,即在乙個 的正常頁面,服務端執行sql語句查詢資料庫中的資料,客戶端將資料展示在頁面中,這個展示資料的位置就叫顯示位。找的注入點 查詢列數 找到顯示位 獲取列中的資訊 注入點 查詢列數 order by 猜測的列數 order by 11 返回正常,有11列 order by...