MySQL魔術引號繞過

2021-10-14 01:12:30 字數 681 閱讀 8446

現在的web程式基本都有對sql注入的全域性過濾,運維人員配置php環境是一般會開啟魔術引號gpc,即magic_quotes_gpc=on的情況下,如果輸入的資料有單引號(』)、雙引號(」)、反斜線(\)與 nul(null 字元)等字元都會被加上反斜線進行轉義處理。不過gpc在php5.4版本後就取消了,所以現在一般都用addslashes()函式來代替gpc進行過濾處理。目前用php開發的應用一般是mvc的框架模式進行開發,對get、post和cookie等傳遞的引數通常使用addslashes()函式進行轉義,並引入乙個類似common.php的檔案進行處理addslashes()函式對接收的引數進行過濾,尤其是單引號。

檢視sql語句是否被 』 或 「 保護,』 " 是否被魔術引號或addslashes轉義(gpc在php5.4版本後就取消了),轉義了之後,檢視源**是否有編碼濫用,導致可以繞過轉義。

編碼解碼函式導致的bypass

一些編碼解碼的函式像[[urldecode]]、[[base64]]decode的使用會導致繞過addslashes函式的全域性防護

寬位元組繞過 %df (寬位元組注入產生原因:mysql_query(「set names 『gbk』」))

多重url編碼

http://localhost/sqltest/urldecode.php?id=1%2527 %2527是 』 的兩重

MySQL魔術引號繞過

現在的web程式基本都有對sql注入的全域性過濾,運維人員配置php環境是一般會開啟魔術引號gpc,即magic quotes gpc on的情況下,如果輸入的資料有單引號 雙引號 反斜線 與 nul null 字元 等字元都會被加上反斜線進行轉義處理。不過gpc在php5.4版本後就取消了,所以現...

php魔術引號總結

在乙個專案中,魔術引號若是開啟的話,所有的反斜線 單引號 雙引號 null 字元都會被自動加上乙個反斜線進行轉義,這和 addslashes 作用完全相同。這裡主要講四個與之相關的函式 set magic quotes runtime magic quotes gpc addslashes stri...

繞過單引號繼續注入

web 應用程式一般都會使用資料庫來儲存各種資訊,比如電子商務 的帳戶資訊 銷售商品的 訂單 支付細節 和各種不同的許可權數值等。資料庫中的資訊的讀取 更新 增加或者刪除等都是通過 sql來實現的,因此,在資料互動的環節沒有安全過濾淨化,則可能易於受到 sql注入攻擊,嚴重的可能導致資料庫非法操作,...