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