在线观看肉片AV网站免费_97在线中文字幕免费公开视频_人妻无码二区自慰系列_高清无码黄色在线网站

天府星空數(shù)據(jù)安全中心
  • 天府星空數(shù)據(jù)安全中心主要負(fù)責(zé)網(wǎng)站:防止黑客攻擊、掛馬檢測(cè)、數(shù)據(jù)備份、硬件機(jī)房安全。天府星空數(shù)據(jù)安全中心主要負(fù)責(zé)網(wǎng)站:防止黑客攻擊、掛馬檢測(cè)、數(shù)據(jù)備份、硬件機(jī)房安全。天府星空數(shù)據(jù)安全中心主要負(fù)責(zé)網(wǎng)站:防止黑客攻擊、掛馬檢測(cè)、數(shù)據(jù)備份、硬件機(jī)房安全。天府星?空數(shù)據(jù)安全中心主要負(fù)責(zé)網(wǎng)站:防止黑客攻擊、掛馬檢測(cè)、數(shù)據(jù)備份、硬件機(jī)房安全。天府星空數(shù)據(jù)安全中心主要負(fù)責(zé)網(wǎng)站:防止黑客攻擊、掛馬檢測(cè)、數(shù)據(jù)備份、硬件機(jī)房安全。天府星空數(shù)據(jù)安全中心…[更多詳情]
  • 點(diǎn)擊這里給我發(fā)消息點(diǎn)擊這里給我發(fā)消息點(diǎn)擊這里給我發(fā)消息點(diǎn)擊這里給我發(fā)消息
網(wǎng)絡(luò)攻防教程當(dāng)前位置:首頁(yè)›數(shù)據(jù)安全中心

企業(yè)應(yīng)當(dāng)如何應(yīng)對(duì)SQL注入式攻擊

發(fā)布者:  來(lái)源:網(wǎng)管之家bitsCN.com  發(fā)布時(shí)間:2010-10-02  閱讀:935次

對(duì)于使用MSSQL數(shù)據(jù)庫(kù)的網(wǎng)站來(lái)說(shuō),如果沒(méi)有對(duì)SQL注入式攻擊進(jìn)行防御那么將受到致命的打擊。關(guān)于對(duì)付SQL注入攻擊的方法已經(jīng)有許多討論,但是為什么還是有大量的網(wǎng)站不斷地遭受其魔掌呢?安全研究人員認(rèn)為,現(xiàn)在正是重新梳理最佳方法來(lái)對(duì)付大規(guī)模的SQL注入攻擊的時(shí)候,從而減輕與注入攻擊相關(guān)的風(fēng)險(xiǎn)。筆者在此介紹的這些方法未必是革命性的創(chuàng)舉,但是又有多少企業(yè)真正按照要求全面地實(shí)施這些方法呢?

下面,我們將一一談?wù)撨@些方法:

應(yīng)對(duì)SQL注入式攻擊之使用參數(shù)化查詢

企業(yè)應(yīng)當(dāng)制定并強(qiáng)化自行開(kāi)發(fā)軟件的安全編碼指南,要求開(kāi)發(fā)人員使用參數(shù)化查詢來(lái)構(gòu)建SQL查詢,這樣就可以將數(shù)據(jù)與代碼區(qū)分開(kāi)來(lái)。

對(duì)于多數(shù)SQL查詢來(lái)說(shuō),開(kāi)發(fā)人員需要指明某類標(biāo)準(zhǔn),為此,就需要利用參數(shù)化查詢,其實(shí)就是在運(yùn)行時(shí)可傳遞的參數(shù)。參數(shù)化查詢就是在SQL語(yǔ)句中有一個(gè)或多個(gè)嵌入?yún)?shù)的查詢。這種將參數(shù)嵌入到SQL語(yǔ)句中的方法與動(dòng)態(tài)構(gòu)造SQL字符串相比,不易產(chǎn)生錯(cuò)誤。下面我們看一個(gè)在.NET應(yīng)用程序中使用參數(shù)化查詢的例子。假設(shè)我們想給張三增加工資500元,可參考如下的代碼。這些代碼范例演示了參數(shù)化查詢的使用,并展示了如何使用更新語(yǔ)句:

通過(guò)利用SQL的更新命令,你可以更新記錄。在上面的例子中,我們作了如下操作:創(chuàng)建并打開(kāi)一個(gè)數(shù)據(jù)庫(kù)鏈接;創(chuàng)建一個(gè)代表執(zhí)行更新語(yǔ)句的數(shù)據(jù)庫(kù)命令;使用EDBCommand 的ExecuteNonQuery()方法執(zhí)行插入命令。

每一個(gè)參數(shù)都用一個(gè)EDBParameter對(duì)象指明。對(duì)于需要在SQL語(yǔ)句中指定的每一個(gè)參數(shù)來(lái)說(shuō),你需要?jiǎng)?chuàng)建一個(gè)EDBParameter對(duì)象,然后將值指派給這個(gè)對(duì)象。然后,將EDBParameter對(duì)象添加到EDBCommand命令的參數(shù)集中。

對(duì)于多數(shù)開(kāi)發(fā)平臺(tái)來(lái)說(shuō),應(yīng)當(dāng)使用參數(shù)化的語(yǔ)句而不是將用戶輸入嵌入到語(yǔ)句中。在許多情況下,SQL語(yǔ)句是固定的,每一個(gè)參數(shù)都是一個(gè)標(biāo)量,而不是一個(gè)表。用戶輸入會(huì)被指派給一個(gè)參數(shù)。下面再給出一個(gè)使用Java和JDBC API的例子:

PreparedStatement prep = conn.prepareStatement("SELECT * FROM USERS WHERE USERNAME=? AND PASSWORD=?");

prep.setString(1, username);

prep.setString(2, password);

prep.executeQuery();

筆者用這些例子只是想告訴開(kāi)發(fā)人員,應(yīng)當(dāng)確保在查詢數(shù)據(jù)庫(kù)之前對(duì)輸入進(jìn)行凈化。要保障用戶輸入到網(wǎng)站的內(nèi)容就是你正要查找的數(shù)據(jù)類型,所以說(shuō),如果你正在尋找一個(gè)數(shù)字,就要努力保障這種輸入一定是一個(gè)數(shù)字而非字符。

應(yīng)對(duì)SQL注入式攻擊之實(shí)施過(guò)濾和監(jiān)視工具

在Web應(yīng)用程序和數(shù)據(jù)庫(kù)這個(gè)水平上的過(guò)濾和監(jiān)視工具可有助于阻止攻擊并檢測(cè)攻擊行為,從而減輕暴露在大規(guī)模的SQL注入式攻擊中的風(fēng)險(xiǎn)。

在應(yīng)用程序水平上,企業(yè)應(yīng)當(dāng)通過(guò)實(shí)施運(yùn)行時(shí)的安全監(jiān)視來(lái)防御SQL注入攻擊和生產(chǎn)系統(tǒng)中的漏洞。同樣地,Web應(yīng)用防火墻也有助于企業(yè)部署某些基于行為的規(guī)則集,可以在發(fā)生損害之前阻止攻擊。

在數(shù)據(jù)庫(kù)水平上,數(shù)據(jù)庫(kù)活動(dòng)監(jiān)視還可以從后臺(tái)過(guò)濾攻擊。數(shù)據(jù)庫(kù)的監(jiān)視活動(dòng)是對(duì)付SQL注入的一種很強(qiáng)大的工具。對(duì)于目前所知道的注入攻擊而言,應(yīng)當(dāng)部署好過(guò)濾器,以便向數(shù)據(jù)庫(kù)管理員發(fā)出警告:正在發(fā)生不太安全的問(wèn)題;還要有一些一般的過(guò)濾器,用以查找SQL注入攻擊中的典型伎倆,如破壞SQL代碼的不規(guī)則的數(shù)字引用等。

應(yīng)對(duì)SQL注入式攻擊之精心編制錯(cuò)誤消息

黑客可以利用你的錯(cuò)誤消息,以便于將來(lái)對(duì)付你。所以開(kāi)發(fā)團(tuán)隊(duì)和數(shù)據(jù)庫(kù)管理員都需要考慮:在用戶輸入某些出乎意料的“數(shù)據(jù)”時(shí),應(yīng)當(dāng)返回的錯(cuò)誤消息。

企業(yè)應(yīng)當(dāng)配置Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器,使其不輸出錯(cuò)誤或警告消息。因?yàn)楣粽呖梢岳?ldquo;盲目SQL注入”等技術(shù)來(lái)了解你的數(shù)據(jù)庫(kù)設(shè)計(jì)細(xì)節(jié)。

應(yīng)對(duì)SQL注入式攻擊之及時(shí)打補(bǔ)丁并強(qiáng)化數(shù)據(jù)

由于沒(méi)有打補(bǔ)丁或者配置錯(cuò)誤,而造成與Web應(yīng)用程序相關(guān)聯(lián)的數(shù)據(jù)庫(kù)遭受攻擊,那么與SQL注入攻擊相關(guān)的風(fēng)險(xiǎn)也會(huì)因之增加。

很顯然,只要有補(bǔ)丁可用,你就需要給數(shù)據(jù)庫(kù)打補(bǔ)丁,并且還要給Web應(yīng)用程序和Web服務(wù)打補(bǔ)丁。

此外,別忘了你的數(shù)據(jù)庫(kù)是怎樣配置的。你需要禁用不必要的服務(wù)和功能,目的是為了強(qiáng)化數(shù)據(jù)庫(kù)及其賴以運(yùn)行的操作系統(tǒng)。

應(yīng)對(duì)SQL注入式攻擊之限制數(shù)據(jù)庫(kù)的特權(quán)

最后,企業(yè)需要更好地管理與Web應(yīng)用程序相關(guān)的賬戶與后臺(tái)數(shù)據(jù)庫(kù)交互的方式。許多問(wèn)題之所以發(fā)生,其原因在于數(shù)據(jù)庫(kù)管理員全面開(kāi)放了一些賬戶,其目的是為了讓開(kāi)發(fā)人員更輕松地工作。但是,這些超級(jí)用戶賬戶極易遭受攻擊,并會(huì)極大地增加由SQL注入攻擊及其它Web攻擊給數(shù)據(jù)庫(kù)所造成的風(fēng)險(xiǎn)。

一定要正確地管理所有的賬戶,使其僅能以最低的特權(quán)訪問(wèn)后臺(tái)的數(shù)據(jù)庫(kù),當(dāng)然前提是能夠完成其工作。你一定要保障這些賬戶不會(huì)擁有對(duì)數(shù)據(jù)庫(kù)作出更改的權(quán)利。