• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      SQL 注入及防御技術(shù)

      2019-11-25 08:56:08新疆崔良義
      網(wǎng)絡(luò)安全和信息化 2019年11期
      關(guān)鍵詞:攻擊者語(yǔ)句頁(yè)面

      ■新疆 崔良義

      隨著信息技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)信息安全問(wèn)題日益突出。本文闡述了SQL 注入對(duì)應(yīng)用程序的安全隱患,最后提出了一些有效的防御措施。

      SQL 注入,存在于大多數(shù)具有數(shù)據(jù)庫(kù)且?guī)в袇?shù)的網(wǎng)站中,具有隱蔽性,危害性極大等特點(diǎn)。攻擊者往往通過(guò)不斷嘗試尋找注入點(diǎn),然后構(gòu)造惡意SQL 語(yǔ)句,將語(yǔ)句發(fā)送給數(shù)據(jù)庫(kù)管理系統(tǒng),從而達(dá)到非法查看或修改數(shù)據(jù)的目的。例如,假設(shè)已發(fā)現(xiàn)網(wǎng)站www.test.com/index.php?id=1 存在SQL 注入,通過(guò)order by 來(lái)猜測(cè)數(shù)據(jù)庫(kù)的字段數(shù),當(dāng)字段數(shù)等于3 時(shí)數(shù)據(jù)庫(kù)返回錯(cuò)誤信息,那么,我們可以進(jìn)一步查詢出數(shù)據(jù)庫(kù)的隱私信息。

      顯然,SQL 注入產(chǎn)生的主要原因就是未經(jīng)檢查的用戶輸入數(shù)據(jù),被惡意構(gòu)造成了可執(zhí)行的代碼,產(chǎn)生了開(kāi)發(fā)者預(yù)期之外的動(dòng)作。因而,我們可以從以下幾方面加強(qiáng)預(yù)防。

      圖1 采用SQL 語(yǔ)句預(yù)編譯和綁定變量

      過(guò)濾用戶傳入的非法參數(shù)

      通過(guò)使用WAF 等專(zhuān)業(yè)的防護(hù)軟件系統(tǒng)過(guò)濾用戶輸入的非法參數(shù)。例如,union、and、insert、select、delete、update、mid、or、#等關(guān)鍵字符串的過(guò)濾,確保用戶輸入數(shù)據(jù)的合法性,這樣就可以盡可能的防御SQL注入語(yǔ)句的輸入。

      修改Webserver 的默認(rèn)錯(cuò)誤提示

      攻擊者為了找到SQL 注入點(diǎn),通常會(huì)通過(guò)輸入非法字符串來(lái)獲取服務(wù)器返回的報(bào)錯(cuò)信息。如果目標(biāo)Web 網(wǎng)站開(kāi)啟了默認(rèn)錯(cuò)誤顯示,攻擊者就可通過(guò)查看頁(yè)面的錯(cuò)誤信息推測(cè)出Web網(wǎng)站使用的數(shù)據(jù)庫(kù)和開(kāi)發(fā)語(yǔ)言等重要信息。因此,程序員應(yīng)關(guān)閉Webserver 錯(cuò)誤提示,或自定義錯(cuò)誤頁(yè)面。對(duì)于PHP頁(yè)面,可將配置文件php.ini中的display_errors 設(shè)置為Off 即可關(guān)閉錯(cuò)誤提示。

      采用SQL 語(yǔ)句預(yù)編譯和綁定變量

      例如,采用Prepared Statement 將 SQL 語(yǔ)句“select id,name from user where id=1”預(yù)先編譯好,即通過(guò)SQL 引擎預(yù)先進(jìn)行語(yǔ)法分析,產(chǎn)生語(yǔ)法樹(shù),生成執(zhí)行計(jì)劃;這樣后面無(wú)論你輸入什么參數(shù),都不會(huì)影響該SQL語(yǔ)句的語(yǔ)法結(jié)構(gòu)了,執(zhí)行代碼如圖1 所示。

      加密數(shù)據(jù)庫(kù)信息

      做好數(shù)據(jù)庫(kù)賬號(hào)和權(quán)限的管理,并嚴(yán)格加密處理用戶的機(jī)密信息,防止泄露。對(duì)用戶輸入的數(shù)據(jù)進(jìn)行加密處理,再跟數(shù)據(jù)庫(kù)中數(shù)據(jù)比較,從而防止被SQL注入。

      SQL 注入是當(dāng)前普遍使用的一種Web 攻擊手段,一旦被黑客注入成功,輕則造成非法獲取數(shù)據(jù)庫(kù)信息,重則直接篡改數(shù)據(jù)庫(kù)內(nèi)容,甚至破壞程序文件造成服務(wù)器宕機(jī),給企業(yè)帶來(lái)巨大損失。

      因此,作為一名合格的程序員,應(yīng)在編寫(xiě)程序代碼時(shí),嚴(yán)格做好SQL 注入防御措施,并建議企業(yè)采購(gòu)專(zhuān)業(yè)的服務(wù)器漏洞掃描工具及WAF 等防護(hù)軟件,從而為服務(wù)器多增加一層安全防范堡壘。

      猜你喜歡
      攻擊者語(yǔ)句頁(yè)面
      大狗熊在睡覺(jué)
      刷新生活的頁(yè)面
      基于微分博弈的追逃問(wèn)題最優(yōu)策略設(shè)計(jì)
      重點(diǎn):語(yǔ)句銜接
      正面迎接批判
      愛(ài)你(2018年16期)2018-06-21 03:28:44
      精彩語(yǔ)句
      有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
      如何搞定語(yǔ)句銜接題
      同一Word文檔 縱橫頁(yè)面并存
      淺析ASP.NET頁(yè)面導(dǎo)航技術(shù)
      平遥县| 花莲市| 五大连池市| 简阳市| 山丹县| 东阳市| 宁陕县| 丰县| 建始县| 依安县| 荔浦县| 乌鲁木齐县| 民县| 嘉荫县| 梁平县| 军事| 北安市| 柞水县| 女性| 安泽县| 乌兰浩特市| 兴业县| 林西县| 万载县| 盐边县| 南投市| 玛曲县| 桃园市| 民丰县| 温泉县| 通渭县| 大方县| 宁南县| 盐边县| 城固县| 扶绥县| 陇西县| 什邡市| 永定县| 土默特左旗| 四平市|