深入了解SQL注入和預防措施

本篇文章通過sql和mysql的對比,以及sql注入的原理,以及如何預防sql注入等方面,詳細分析了sql注入相關知識點,希望可以幫助到一些有需要的人。

1 .什么是sql注入(Sql injection)?

Sql注入是一種將sql代碼添加到輸入參數中,傳遞到Sql服務器解析并執行的一種攻擊手法

2. 怎么產生的?

Web開發人員無法保證所有的輸入都已經過濾

攻擊者利用發送給Sql服務器的輸入數據構造可執行的Sql代碼

數據庫未做相應的安全配置

3.如何尋找sql漏洞?

識別web應用中所有輸入點

了解哪些類型的請求會觸發異常?(特殊字符”或’)

檢測服務器響應中的異常

4. 如何進行SQL注入攻擊?

數字注入:

Select * from tablename where id=1 or 1=1;

字符串注入:

Mysql的注釋特性:

深入了解SQL注入和預防措施

#與–號后面的被注釋掉,無論密碼輸入的是什么,都能正確查詢。請點擊此處輸入圖片描述

5. 如何預防sql注入?

嚴格檢查輸入格式:is_numeric(var),tp5的validate驗證,字符串的注入采用正則看是否在[A-Za-z]之間

轉義:addslashes(str)、

mysqli_escape_string()函數進行轉義

6.MySQLi的預編譯機制

深入了解SQL注入和預防措施

參數化綁定

參數化綁定,防止 SQL 注入的又一道屏障。php MySQLi 和 PDO 均提供這樣的功能。比如 MySQLi 可以這樣去查詢:

深入了解SQL注入和預防措施

PDO 的更是方便,比如:

深入了解SQL注入和預防措施

相關推薦:

sql注入網站的方法

sql注入網站的方法

sql注入網站的方法

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享