mySQL注入攻擊:更深入的潛水
[)對SQL注射沒有完整的保護。這是因為它僅是為了逃避查詢中的PHP變量。它無法處理逃逸的表或列名稱或限製字段。
的漏洞考慮以下示例:如果$ field或$ value包含惡意輸入,則此查詢很容易受到SQL注入的影響。黑客可以製作一個惡意查詢,該查詢繞過逃脫並執行未經授權的命令。
特定的攻擊矢量
這些利用利用Internet Explorer和PHP的Charset處理中的漏洞。他們可以允許黑客執行任意SQL查詢。示例如何利用這些攻擊:), mysql_real_escape_string($ argv [2]), mysql_real_escape_string($ argv [3]));
input 1:返回urls以“ http:///www.reddit.com”開頭返回URLS exploit)
Input 3: Executes unexpected SQL queries
The Solution: Prepared Statements
Experts recommend using prepared statements instead of escaping functions.準備好的語句是服務器端技術,僅執行僅執行有效的SQL。這種方法提供了針對已知和未知的SQL注入的全面保護。使用pdo
$sql = "SELECT number FROM PhoneNumbers " . "WHERE " . mysql_real_escape_string($field) . " = " . mysql_real_escape_string($value);Conclusion
While mysql_real_escape_string() and mysql_escape_string() offer some protection against SQL注射,它們不足以實現完整的安全性。準備的語句是魯棒數據庫安全性的推薦方法。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3