實(shí)戰(zhàn)中各種SQL注入的繞過(guò)姿勢(shì)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
這篇文章搜集整理自@Junehck師傅的Github,記錄了他在實(shí)戰(zhàn)中遇到的各種WAF攔截SQL注入的場(chǎng)景和繞過(guò)姿勢(shì),文章并不是完整的,僅記錄了Bypass部分。 https://github.com/Junehck/SQL-injection-bypass 0x01 %00繞過(guò)WAF 輸入一個(gè)單引號(hào) 頁(yè)面報(bào)錯(cuò) 首先閉合,這里用
order by x 被攔截,用 直接上 把空格都改為 在 1 后面加上 0x02 Base64繞WAF 發(fā)現(xiàn)參數(shù)為 base64 編碼 測(cè)試字符發(fā)現(xiàn)頁(yè)面報(bào)錯(cuò),使用報(bào)錯(cuò)注入來(lái)出數(shù)據(jù) 133 and updatexml(1,concat(0x1,user()),1) 將以上 payload 經(jīng)過(guò) base64 編碼后得到,但發(fā)現(xiàn)被攔截了
php 在 base64 解碼的時(shí)候會(huì)忽略特殊字符,我們?cè)?payload 里面穿插
0x03 Emoji繞過(guò)WAF 先 order by 獲取列數(shù) 嘗試使用聯(lián)合注入時(shí)就會(huì)被攔截,無(wú)限等待響應(yīng) 這里我們使用 0x04 注釋符繞過(guò)WAF 在后面加上 order by 1 被安全狗攔截 WAF 會(huì)避免消耗大量?jī)?nèi)存去匹配危險(xiǎn)函數(shù),故會(huì)直接忽略"有效注釋"中的內(nèi)容,而攻擊者可以構(gòu)造不存在的參數(shù)來(lái)實(shí)現(xiàn)
那么這里就無(wú)任何攔截了,可直接交給 sqlmap 0x05 臟數(shù)據(jù)繞過(guò)WAF 頁(yè)面搜索功能嘗試輸入單引號(hào),頁(yè)面 500 報(bào)錯(cuò)并輸出了報(bào)錯(cuò)信息 這里竟然有報(bào)錯(cuò)我們就想著使用報(bào)錯(cuò)注入,但是含有類似于 因?yàn)?get 繞過(guò)姿勢(shì)較少,我們嘗試把數(shù)據(jù)通過(guò) post 發(fā)送,發(fā)現(xiàn)后端也接收,那么這里使用
0x06 關(guān)鍵字替換繞過(guò)WAF 單引號(hào)頁(yè)面報(bào)錯(cuò) 這里我們打算使用 updatexml 來(lái)進(jìn)行報(bào)錯(cuò)輸出,在 url 后面添加 and 發(fā)現(xiàn)并沒(méi)有攔截,但是如果在 and 后面空格然后跟 updatexml 直接被攔截 這里我們的繞過(guò)方法是用運(yùn)算符,
這里可以使用
我們首先閉合一下后面的單引號(hào),在后面加上 keywords=11'and-updatexml(0x1,,0x1)and' 現(xiàn)在我們來(lái)構(gòu)造報(bào)錯(cuò)內(nèi)容,
0x07 中間件特性繞過(guò)WAF 首先通過(guò) 這里的測(cè)試 payload 是:
在 asp+iis 的環(huán)境下
首先測(cè)試延時(shí) payload,將里面的
改為 1,頁(yè)面返回 3 秒,執(zhí)行了 3 次,不管輸入多少都會(huì)被乘 3 寫(xiě)個(gè) tamper 即可使用 sqlmap 跑 該文章在 2023/3/27 18:38:40 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |