SQL注入是一個(gè)比較“古老”的話題,雖然現(xiàn)在存在這種漏洞的站點(diǎn)比較少了,我們還是有必要了解一下它的危害,及其常用的手段,知己知彼方能百戰(zhàn)不殆。進(jìn)攻與防守相當(dāng)于矛和盾的關(guān)系,我們?nèi)绻芮宄私?/p>
攻擊的全過(guò)程,就可以更好的預(yù)防類似情況的出現(xiàn)。
SQL注入原理 主要是攻擊者,利益被攻擊頁(yè)面的一些漏洞(通常都是程序員粗心大意造成的),改變數(shù)據(jù)庫(kù)執(zhí)行的SQL語(yǔ)句,從而達(dá)到獲取“非授權(quán)信息”的目的。
下面自己搭建了實(shí)驗(yàn)環(huán)境用于測(cè)試。 首先交待一下,測(cè)試環(huán)境 開(kāi)發(fā)語(yǔ)言為 Asp.net ,數(shù)據(jù)庫(kù)使用的 MSQL ,測(cè)試頁(yè)面模擬了普通的新聞頁(yè)面,URL里接受參數(shù) ?id=1 獲取文章ID,
后臺(tái)直接通獲取的ID拼接查詢語(yǔ)句,沒(méi)有做敏感字符的過(guò)濾,從而為入侵者留下了有機(jī)可剩的漏洞.下面是后臺(tái)代碼:
public partial class NewsInfo : System.Web.UI.Page { protected NewsModel _news = new NewsModel(); protected void Page_Load(object sender, EventArgs e) { var id = Request["id"]; &n