SQL注入高階

2021-10-06 16:59:19 字數 1113 閱讀 4503

sql注入高階

1)時間注入攻擊:時間注入利用sleep()或者benchmark()等函式讓mysql的執行時間變長。時間盲注多餘if(expr1,expr2,expr3)結合使用,此if語句的含義是:如果expr1是true,則if的返回值為expr2;否則返回的值為expr3 。所以判斷資料庫名長度的的語句應為:

if (length(database())>1,sleep(5),1)

可以通過時間的不同來確定是否存在注入點。

2)堆疊查詢注入攻擊:堆疊查詢可以執行多條語句,多語句之間以分號隔開、堆疊查詢注入就是利用這個特點,在第二個sql語句中構造自己要執行的語句。

3)二次注入攻擊:通過註冊等頁面插入語句,通過另外的頁面進行語句的呼叫,實現sql注入。

4)寬位元組注入攻擊:當資料的編碼為gbk時,可以使用寬位元組注入,寬位元組的格式是在位址後先加乙個%df,在加單引號,因為反斜槓的編碼為%5c ,而在gbk編碼中,%df%5c是繁體字「連」,所以這時候,單引號逃逸成功,報出mysql資料庫的錯誤。

5)cookie注入攻擊:cookie中存在id=1的引數,修改cookie中的id=1 為id=1』 然後在此訪問url,發現頁面返回錯誤,接下來分別修改cookie中的id=1 為id=1 and 1=1 和id=1 and 1=2,再次訪問判斷該頁面是否有存在sql注入漏洞。

驗證漏洞存在後,使用sqlmap進行注入: sqlmap -u"" --cookie 「id=1」 --level=3

6)base64注入攻擊:通過訪問的url可以看出引數經過base64編碼,將引數進行解碼後發現為id,嘗試加上乙個單引號並且一起進行base64編碼,當訪問頁面時發生報錯,然後將1 and 1=1 和 1 and 1=2 進行base64編碼,再次訪問頁面進行判斷頁面是否存在sql注入漏洞。

7)xff(x-forwarded-for)注入攻擊:x-forwarded-for簡稱為xff頭,它代表客戶端真實的ip,通過修改xff的值可以偽造客戶端ip,在xff位址內容後加單引號,再次訪問該url,頁面返回sql的報錯,將xff分別設定為ip』 and 1=1 # 和ip』 and 1=2#進行頁面訪問,判斷頁面是否存在sql注入漏洞。

sql注入繞過技術:

SQL注入高階

前言前面我們學習了如何尋找,確認,利用sql注入漏洞的技術,本篇文章我將介紹一些更高階的技術,避開過濾,繞開防禦。有攻必有防,當然還要來 一下sql注入防禦技巧。目錄 第五節 避開過濾方法總結 第六節 sql注入防禦技巧 正文 web應用為了防禦包括sql注入在內的攻擊,常常使用輸入過濾器,這些過濾...

SQL注入原理高階篇 2

我們舉個例子,已知表admin中存在username欄位,首先,我們取第一條記錄,測試長度 先說明原理 如果top 1的username長度大於0,則條件成立 接著就是 1 2 3這樣測試下去,一直到條件不成立為止,比如 7成立,8不成立,就是len username 8 當然沒人會笨得從0,1,2...

SQL注入漏洞接觸 高階篇

第一節 利用系統表注入sqlserver資料庫 sqlserver是乙個功能強大的資料庫系統,與作業系統也有緊密的聯絡,這給開發者帶來了很大的方便,但另一方面,也為注入者提供了乙個跳板,我們先來看看幾個具體的例子 分號 在sqlserver中表示隔開前後兩句語句,表示後面的語句為注釋,所以,這句語句...