JS C ASP 防止sql注入

2022-07-13 23:27:24 字數 3435 閱讀 8084

sql注入式攻擊是利用是指利用設計上的漏洞,在目標伺服器上執行sql命令以及進行其他方式的攻擊

動態生成sql命令時沒有對使用者輸入的資料進行驗證是sql注入攻擊得逞的主要原因。

比如:

如果你的查詢語句是select * from admin where username='"&user&"' and password='"&pwd&"'"

那麼,如果我的使用者名稱是:1' or '1'='1

那麼,你的查詢語句將會變成:

select * from admin where username='1 or '1'='1' and password='"&pwd&"'"

這樣你的查詢語句就通過了,從而就可以進入你的管理介面。

所以防範的時候需要對使用者的輸入進行檢查。特別式一些特殊字元,比如單引號,雙引號,分號,逗號,冒號,連線號等進行轉換或者過濾。

需要過濾的特殊字元及字串有:

net user

xp_cmdshell

/add

exec master.dbo.xp_cmdshell

net localgroup administrators

select

count

asc

char

mid

'

:

"

insert

delete from

drop table

update

truncate

from

% [code start]

[code end]

asp版的防範sql注入式攻擊**~:

response.write "alert('非法位址!!');"

response.write "location.href='error.asp';"

response.write ""

end if

%>

[code end]

///

/// 當有資料時交時,觸發事件

///

///

///

///

///sql注入過濾

///

/// 要過濾的字串

/// 如果引數存在不安全字元,則返回true

public bool sqlfilter(string intext)

}

return false;

} ///

/// 校驗引數是否存在sql字元

///

///

private void goerr(string tm)

} if (request.querystring != null)

}

} if (request.form.count > 0)

else

if (s3 != s1)

}

}

} #region sql注入式攻擊**分析

///

/// 處理使用者提交的請求

/// 分析使用者請求是否正常

///

/// 傳入使用者提交資料

/// 返回是否含有sql注入式攻擊**

private bool processsqlstr(string str)

}

}

}

catch

return returnvalue;

}

#endregion

防止SQL注入

1.什麼是sql注入 所謂sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。通過遞交引數構造巧妙的sql語句,從而成功獲取想要的資料。2.sql注入的種類 從具體而言,sql注入可分為五大類,分別是 數字型注入 字元型注入...

防止SQL注入

最近看到很多人的 都被注入js,被iframe之類的。非常多。本人曾接手過乙個比較大的 被人家入侵了,要我收拾殘局。1.首先我會檢查一下伺服器配置,重新配置一次伺服器安全,可以參考 2.其次,用麥咖啡自定義策略,即使 程式有漏洞,別人也很難在檔案上寫入 了。參考自定義策略,有了這個策略,再爛的程式,...

防止Sql注入

防不勝防 可以肯定的說,過濾不是辦法,而且效率很低 過濾的目的主要是提供反饋資訊,必須前後臺都要做 但是,有很多辦法可以繞過 致命的單引號 能做的事情按重要性大致如下 1。資料庫訪問用預定義會話 preparedstatement 從根本上防止sql截斷 2。後台過濾 為輸入的資訊提供反饋資訊,只要...