ucbug軟件站:安全、綠色、放心的專業(yè)下載站!首頁|最近更新|專題集合|標(biāo)簽云|站內(nèi)導(dǎo)航|加入收藏

什么是SQL盲注 SQL普通注入和SQL盲注都有什么區(qū)別

時間:2019-04-25 22:43:35人氣:0

往往大多數(shù)人在學(xué)習(xí)sql注入的時候,很多的人都是不去弄清楚原理,去網(wǎng)上隨意搜索一些注入語句,就開始對靶機(jī)注入,雖然能注入成功,但是不

往往大多數(shù)人在學(xué)習(xí)sql注入的時候,很多的人都是不去弄清楚原理,去網(wǎng)上隨意搜索一些注入語句,就開始對靶機(jī)注入,雖然能注入成功,但是不清楚原理,對以后的學(xué)習(xí)和工作沒有多大的好處。特別是一些新手!

現(xiàn)在我就講一下“SQL普通注入和SQL盲注的區(qū)別”:

什么是SQL盲注?

盲注就是在sql注入過程中,sql語句執(zhí)行的選擇后,選擇的數(shù)據(jù)不能回顯到前端頁面。此時,我們需要利用一些方法進(jìn)行判斷或者嘗試,這個過程稱之為盲注。

什么是SQL普通注入?

SQL普通注入也可以叫SQL顯錯式注入,因為我們可以根據(jù)報錯從而達(dá)到進(jìn)入注入的正軌。

SQL盲注與普通注入的區(qū)別

我這里拿兩個靶機(jī)來講一下SQL盲注與SQL普通注入的區(qū)別吧!

第一個靶機(jī):DVWA

1、當(dāng)打開“http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#”

我們提交1發(fā)現(xiàn)返回有兩列 。

什么是SQL盲注 SQL普通注入和SQL盲注都有什么區(qū)別

我們再輸入1'發(fā)現(xiàn)了報錯如下:

什么是SQL盲注 SQL普通注入和SQL盲注都有什么區(qū)別

這種為顯錯式注入,我們可以根據(jù)它報的錯誤走入正軌,這報的錯誤為“附近有語法錯誤,我們可以確定這是一個字符型注入”我們可以直接把它的數(shù)據(jù)庫給返回出來。例如:輸入1' union select 1, database()#

SQL普通注入

但是:SQL盲注就不能把數(shù)據(jù)庫給返回出來,我們只能一點一點的猜測。

2、例如:我們打開“http://127.0.0.1/dvwa/vulnerabilities/sqli_blind/”,我再輸入1' union select 1, database()#,數(shù)據(jù)庫是報不出來的。

什么是SQL盲注 SQL普通注入和SQL盲注都有什么區(qū)別

第二個靶機(jī):Mutillidae

1、瀏覽器打開“http://127.0.0.1/mutillidae/index.php?page=user-info.php”,這里我是選擇用戶名框輸入一個“\”,點擊確認(rèn)鍵,可以看到報錯信息,并且可以看到SQL語句,說明存在SQL注入,此處無過濾。這就是SQL普通注入,也可以叫SQL顯錯注入。

什么是SQL盲注 SQL普通注入和SQL盲注都有什么區(qū)別

選擇在用戶名輸入處輸入“‘ or 1=1 #”,通過使用“or”字句將輸入匹配取消,并使用“#”將后續(xù)語句中對password的查詢給注釋掉,即查詢時的SQL語句變?yōu)榱耍?/p>

SELECT * FROM account WHERE username=’’or 1=1

什么是SQL盲注 SQL普通注入和SQL盲注都有什么區(qū)別

使用這個SQL語句,即可將account表中所有的用戶信息查詢出來。點擊確認(rèn)后,可以看到下方出現(xiàn)所有的用戶信息:

2、由于Mutillidae里面的盲注不是很準(zhǔn)確,我就不演示了。大家只要能懂了即可!

Mutillidae里面的盲注也能報錯也能查詢出結(jié)果,普通注入和盲注示例都是用的同一個PHP文件。

標(biāo)簽SQL盲注