SQL盲注详解
今天繼續給大家介紹Linux運維相關知識,本文主要內容是SQL盲注詳解。
免責聲明:
本文所介紹的內容僅做學習交流使用,嚴禁利用文中技術進行非法行為,否則造成一切嚴重后果自負!
再次強調:嚴禁對未授權設備進行滲透測試!
一、SQL盲注詳解
在SQL注入時,有些情況下我們的SQL語句執行結果可以直接顯示到頁面上,這通常是一些select查詢語句,網站會把SQL語句執行的結果直接顯示到頁面上。
但是,有時,一些SQL注入語句卻不會顯示結果,這種情況,有些是因為SQL語句本身就沒有返回信息,比如一些插入、刪除的SQL語句,只會反饋該語句是否成功執行,還有些是因為網站內部邏輯屏蔽了查詢結果,比如一些網站的登錄頁面,雖然也是select查詢語句,但是只會根據是否查詢到指定用戶名、口令來有不同的反饋。
針對這種沒有反饋結果的,我們就稱之為SQL盲注。
二、非查詢SQL語句介紹
常見的非查詢SQL語句(SQL盲注的情景)有以下
1、insert插入數據
其中,value1和value2是我們可以控制的變量。
2、delete刪除數據
其中,value1是我們可以控制的變量。
3、update更新數據
其中,value1是我們可以控制的變量。
4、order by數據排序
其中,column1是我們可以控制的變量。
三、SQL盲注類型
根據SQL盲注獲取信息的方式,我們又可以把SQL盲注細分為基于bool的盲注、基于時間的盲注以及基于報錯的盲注。
基于bool的盲注,即雖然SQL語句沒有信息回顯,但是根據語句執行是否成功,有兩種不同的反饋結果,我們就可以利用這兩種反饋結果的不同,來獲取數據庫中的信息。
基于時間的盲注,即SQL語句可以正常執行,但是沒有兩種不同的反饋結果,這樣我們可以使用sleep函數來使得SQL語句的執行在時間上出現不同的結果,以此來獲取數據庫的數據信息。
基于報錯的盲注,指的是我們構造一個錯誤的SQL語句,并且該語句能夠把數據庫的信息顯示到保存信息上,當站點對錯誤的SQL語句能夠顯示報錯信息時,我們就可以借此來獲取數據了。
原創不易,轉載請說明出處:https://blog.csdn.net/weixin_40228200
總結
- 上一篇: 动态换ip如何实现_三种方法解决动态换I
- 下一篇: mysql change index_M