MySQL_REAL_ESCAPE_STRING的限制
用法限制 與mysql_real_escape_scape_string是必須精確使用的。它旨在逃避旨在在SQL語句中單個引號中使用的文本值,如下所示:
的示例,該攻擊可以繞過MySQL_REAL_ESCAPE_STRING在用於逃避數字值時會出現MySQL_REAL_ESCAPE_STRING。請考慮以下查詢:mysql_query('從用戶中delete user_id ='.mysql_real_escape_string($ input));
此查詢將刪除所有用戶,因為“或1 = 1”條件始終是正確的。此攻擊證明了根據上下文使用正確的數據類型和逃脫方法的重要性。不正確處理編碼與mysql_real_escape_scape_string與字符eenting有關。如果數據庫連接編碼未正確設置,則可能會導致MySQL_REAL_ESCAPE_STRING逃脫字符串與數據庫如何解釋它們之間的不一致。這種差異可以在特定情況下創建漏洞,尤其是在處理多重細胞字符串時。[&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& && && && &&華建議使用替代方法,例如準備好的陳述,參數化查詢或更現代的數據庫API,以更強大的保護防止注射漏洞。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3