亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺談SQL注入攻擊與防范

        2013-09-17 09:43:26潘號良汪光一陸新華
        關(guān)鍵詞:字符串用戶名口令

        潘號良 汪光一 陸新華

        北京衛(wèi)戍區(qū)指揮自動化工作站 北京 100740

        0 前言

        隨著web應(yīng)用程序的流行和普及,SQL注入攻擊技術(shù)也隨之出現(xiàn),該種攻擊技術(shù)被廣為利用。根據(jù)網(wǎng)絡(luò)統(tǒng)計(jì),每年都有數(shù)萬個(gè)網(wǎng)站遭受SQL注入式攻擊,其中不乏知名網(wǎng)站。更有甚者,現(xiàn)在出現(xiàn)了新型的攻擊方法。利用軟件自動搜索web應(yīng)用程序的SQL漏洞,自動生成注入腳本,進(jìn)行攻擊,造成web應(yīng)用程序的破壞。

        1 什么是“SQL注入”攻擊

        對于 Web應(yīng)用程序來說,很多都使用數(shù)據(jù)庫來存儲信息。SQL命令就是前端 Web和后端數(shù)據(jù)庫之間的接口,使得數(shù)據(jù)可以傳遞至Web應(yīng)用程序。很多Web站點(diǎn)都會利用用戶輸入的參數(shù)動態(tài)地生成 SQL查詢要求,攻擊者通過在URL、表單域,或者其他的輸入域中輸入自己的SQL命令,以此改變查詢屬性,騙過應(yīng)用程序,從而可以對數(shù)據(jù)進(jìn)行不受限的訪問。

        SQL注入漏洞成因在于 Web應(yīng)用程序?qū)τ脩籼峤坏臄?shù)據(jù)未做充分檢查過濾。用戶提交的數(shù)據(jù)可能會在程序里被用來構(gòu)造訪問后臺數(shù)據(jù)庫的SQL指令,如果這些數(shù)據(jù)過濾不嚴(yán)格就有可能被插入惡意的SQL代碼,從而非授權(quán)操作后臺的數(shù)據(jù)庫,導(dǎo)致從敏感信息泄露、破壞數(shù)據(jù)庫內(nèi)容和結(jié)構(gòu)。利用SQL注入漏洞可以構(gòu)成對Web服務(wù)器的直接攻擊,還可能利用服務(wù)器攻擊第三方瀏覽網(wǎng)站的其他用戶。

        2 “SQL注入”攻擊簡單舉例

        我這里以大家常見的用戶身份認(rèn)證的簡單 Web應(yīng)用程序?yàn)槔M(jìn)行講解。假定這個(gè)應(yīng)用程序提供一個(gè)登錄頁面,在這個(gè)界面里要求用戶輸入用戶名和口令,然后通過HTTP請求發(fā)送用戶名和口令,之后,Web應(yīng)用程序檢查用戶傳遞過來的用戶名和口令跟數(shù)據(jù)庫中的用戶名和口令是否匹配。這種情況下,我們假定數(shù)據(jù)庫中存在一個(gè)名稱為 user_table的表,該表包括三個(gè)字段,分別為用戶 id(用以標(biāo)識該用戶)、用戶名稱username、用戶密碼userpassword。

        web應(yīng)用程序代碼如下:

        開頭兩行代碼從HTTP請求中取得用戶輸入,然后在下一行開始構(gòu)造一個(gè) SQL查詢。執(zhí)行查詢,然后在 while()循環(huán)中得到結(jié)果,如果一個(gè)用戶名和口令對匹配,就會返回正確的ID。否則,id的值仍然為-1,這意味著用戶沒有通過認(rèn)證。表面上看,如果用戶名和口令對匹配,那么該用戶通過認(rèn)證;否則,該用戶不會通過認(rèn)證——但是,事實(shí)果真如此嗎?非也!讀者也許已經(jīng)注意到了,這里并沒有對SQL命令進(jìn)行設(shè)防,所以攻擊者完全能夠在用戶名或者口令字段中注入SQL語句,從而改變SQL查詢。為此,我們仔細(xì)研究一下上面的SQL查詢字符串:

        上述代碼認(rèn)為字符串username和password都是數(shù)據(jù),不過,攻擊者卻可以隨心所欲地輸入任何字符。如果一位攻擊者輸入的用戶名為’OR 1=1--,而口令為x,那么查詢字符串將變成下面的樣子:

        該雙劃符號--告訴SQL解析器,右邊的東西全部是注釋,所以不必理會。這樣,查詢字符串相當(dāng)于:

        如今的SELECT語句跟以前的已經(jīng)大相徑庭了,因?yàn)楝F(xiàn)在只要用戶名為長度為零的字符串''或 1=1這兩個(gè)條件中一個(gè)為真,就返回用戶標(biāo)識符ID——我們知道,1=1是恒為真的。所以這個(gè)語句將返回user_table中的所有ID。在此種情況下,攻擊者在username字段放入的是SQL指令'OR1=1--而非數(shù)據(jù)。

        3 一個(gè)防范“SQL注入”攻擊簡單程序

        近段時(shí)間修改一個(gè)ASP程序(有SQL注入漏洞),于是利用instr函數(shù),寫出這個(gè)ASP函數(shù),供大家參考。以下是函數(shù)片段:

        使用sqlsaferequest函數(shù)替換Request。

        4 小結(jié)

        我們在本文中介紹了注入攻擊的原理。然后通過一個(gè)簡單的程序事例詳細(xì)介紹了 SQL注入攻擊的過程,使我們對SQL注入攻擊有了一個(gè)深入的認(rèn)識。最后給出了一個(gè)防范SQL注入攻擊的簡單函數(shù)。要想有效防范SQL注入攻擊,需要大家平時(shí)提高意識,多對web應(yīng)用程序進(jìn)行SQL攻擊測試,及早發(fā)現(xiàn)漏洞,堵住漏洞。

        [1](美)克拉克著,黃曉磊,李化譯.SQL 注入攻擊與防御[M].清華大學(xué)出版社.2010.

        [2]孫建舒.SQL注入式攻擊與防范.計(jì)算機(jī)與信息技術(shù)[J].2011.

        [3]吳貴山.SQL注入攻擊防御策略的研究.計(jì)算機(jī)與網(wǎng)絡(luò)[J].2012.

        猜你喜歡
        字符串用戶名口令
        《護(hù)士進(jìn)修雜志》投稿程序
        高矮胖瘦
        口 令
        機(jī)智的快遞員
        故事會(2017年17期)2017-09-04 17:36:42
        好玩的“反口令”游戲
        SNMP服務(wù)弱口令安全漏洞防范
        一種新的基于對稱性的字符串相似性處理算法
        依據(jù)字符串匹配的中文分詞模型研究
        一種針對Java中字符串的內(nèi)存管理方案
        ESET NOD32專家答疑等
        中字乱码视频| 久久久精品人妻一区二区三区日本 | 无码av专区丝袜专区| 91久久精品美女高潮喷白浆| 人妻中文字幕乱人伦在线| 国产欧美日韩综合精品二区| 午夜精品一区二区三区无码不卡| 国产精品成人有码在线观看| 欲女在线一区二区三区| 开心五月激情综合婷婷色| 欧美a在线播放| 国产成人高清精品亚洲一区| 日韩亚洲精品国产第二页| 国产精品毛片一区二区| 伊人久久综在合线亚洲不卡| 日本精品久久中文字幕| 91露脸半推半就老熟妇| 国产sm调教视频在线观看| 青草网在线观看| 国产成人av三级三级三级在线 | 依依成人影视国产精品| 亚洲最大不卡av网站| 欧美激情综合色综合啪啪五月| 无码中文字幕人妻在线一区二区三区| 色婷婷精品综合久久狠狠| 日本韩国亚洲三级在线| 国产精品亚洲lv粉色| 日韩国产精品一区二区Hd| 亚洲中文有码一区二区| 国产成人91久久麻豆视频| 久久九九国产精品怡红院| 国产精品国产三级国产专播| 久久精品国产一区老色匹| 国产精品综合色区在线观看| 最新69国产成人精品视频免费| 国产成人亚洲精品77| 伊人狼人大香线蕉手机视频 | 精品淑女少妇av久久免费| 国产精品久久久久影视不卡| av免费在线播放观看| 人妻丰满熟妇无码区免费|