您的位置:首頁 > 菜鳥學(xué)院 > 技術(shù)分享:Mysql注入點(diǎn)在limit關(guān)鍵字后面的利用方法

技術(shù)分享:Mysql注入點(diǎn)在limit關(guān)鍵字后面的利用方法

來源:互聯(lián)網(wǎng) | 時(shí)間:2015-03-12 15:09:19 | 閱讀:90 |  標(biāo)簽: SQL注入   | 分享到:

技術(shù)分享:Mysql注入點(diǎn)在limit關(guān)鍵字后面的利用方法

描寫s q l注入利用方法的文章數(shù)不勝數(shù),本文將描述一種比較特殊的場景。

細(xì)節(jié)

在一次測試中,我碰到了一個(gè)s q l注入的問題,在網(wǎng)上沒有搜到解決辦法,當(dāng)時(shí)的注入點(diǎn)是在 l i m i t關(guān)鍵字后面,數(shù)據(jù)庫是M y S Q L 5.x,S Q L語句類似下面這樣:

技術(shù)分享:Mysql注入點(diǎn)在limit關(guān)鍵字后面的利用方法

問題的關(guān)鍵在于,語句中有order by 關(guān)鍵字,我們知道,mysql 中在o r d e r  b y 前面可以使用u n i o n 關(guān)鍵字,所以如果注入點(diǎn)前面沒有o r d e r  b y 關(guān)鍵字,就可以順利的使用u n i o n 關(guān)鍵字,但是現(xiàn)在的情況是,注入點(diǎn)前面有o r d e r  b y 關(guān)鍵字,這個(gè)問題在s t a c k o v e r f l o w 上和s l a . c k e r s上都有討論,但是都沒有什么有效的解決辦法。

我們先看看 mysql 5.x 的文檔中的 s e l e c t 的語法:

技術(shù)分享:Mysql注入點(diǎn)在limit關(guān)鍵字后面的利用方法

l i m i t 關(guān)鍵字后面還有 P R O C E D U R E 和 I N T O 關(guān)鍵字,i n t o 關(guān)鍵字可以用來寫文件,但這在本文中不重要,這里的重點(diǎn)是 P R O C E D U R E 關(guān)鍵字.M y S Q L默認(rèn)可用的存儲(chǔ)過程只有 A N A L Y S E (doc)。

嘗試用這個(gè)存儲(chǔ)過程:

技術(shù)分享:Mysql注入點(diǎn)在limit關(guān)鍵字后面的利用方法

A N A L Y S E支持兩個(gè)參數(shù),試試兩個(gè)參數(shù):

技術(shù)分享:Mysql注入點(diǎn)在limit關(guān)鍵字后面的利用方法

依然無效,嘗試在 A N A L Y S E 中插入 sql 語句:

技術(shù)分享:Mysql注入點(diǎn)在limit關(guān)鍵字后面的利用方法

響應(yīng)如下:

技術(shù)分享:Mysql注入點(diǎn)在limit關(guān)鍵字后面的利用方法

事實(shí)證明,s l e e p 沒有被執(zhí)行,最終,我嘗試了如下p a y l o a d :

技術(shù)分享:Mysql注入點(diǎn)在limit關(guān)鍵字后面的利用方法

啊哈,上面的方法就是常見的報(bào)錯(cuò)注入,所以,如果注入點(diǎn)支持報(bào)錯(cuò),那所有問題都o(jì)k,但是如果注入點(diǎn)不是報(bào)錯(cuò)的,還可以使用 t i m e - b a s e d 的注入,p a y l o a d 如下:

技術(shù)分享:Mysql注入點(diǎn)在limit關(guān)鍵字后面的利用方法

有意思的是,這里不能用s l e e p而只能用 B E N C H M A R K。

小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認(rèn)同期限觀點(diǎn)或證實(shí)其描述。

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機(jī)版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號(hào)!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]

湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)