• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 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ù)
    德化县| 乐安县| 灵丘县| 视频| 柘荣县| 广汉市| 马关县| 吴堡县| 板桥市| 西充县| 湄潭县| 洛川县| 临城县| 平山县| 西城区| 普兰店市| 洪泽县| 鄂托克前旗| 桦南县| 天津市| 桑植县| 扎赉特旗| 塔城市| 定西市| 简阳市| 伊川县| 中阳县| 吴旗县| 南江县| 棋牌| 广东省| 永康市| 凤翔县| 磐安县| 民县| 金平| 松潘县| 奉节县| 阿荣旗| 平邑县| 泸定县|