1. 程式人生 > >sql注入——不定期更新(二、關鍵詞繞過)

sql注入——不定期更新(二、關鍵詞繞過)

0x01 前言

sql注入的過程中,經常會遇到來自防守方的過濾,waf等情況,那麼一般的sql注入語句就不能成為成功的payload,這個時候需要我們用各種繞過的姿勢,見招拆招

0x02

這裡用一個簡單的例子來寫一下思路

這裡過濾了一些sql注入常用的語句和過濾符號,正常的sql注入的方法需要進行一些改變才能解決問題

這裡過濾了空格,可以使用註釋或編碼來解決,我在這裡用了[%0a]來代替空格,用extractvalue()函式來解決union的問題

這裡就查到了user()的資訊,測試成功,繞過了空格和union的問題

這裡告訴我們要查詢的檔案路徑,那麼就用load_file()函式,這裡要注意到的一點是,load_file()這個函式後面讀檔案,需要用load_file('xxxxxxx'),有引號的問題,那麼這裡我們可以用16進位制來解決,轉換完前面加一個0x就ok

這樣就繞過來單引號雙引號的問題

但是這裡出來的似乎不是一個完整的答案,後來經過查詢,extractive()函式後面只顯示32位,所以我們要先確定答案一共多少位,然後再分組吧它們一個一個重新組合


用lenth函式看一下,一共有149個字元,然後32個為一組,我們把它們分別提取出來,然後重新組合,這裡用到了substr()函式,看一下官方的用法

於是我們可以利用這個來提取

多次操作就可以達到最後結果了,這裡就不多截圖了

0x03 總結

sql注入中經常會遇到繞過或者過濾,WAF等問題,這時候就需要見招拆招,最好的辦法還是多積累多運用

路漫漫其修遠兮,吾將上下而求索