亚洲免费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无码专区在线| 日韩视频中文字幕精品偷拍| 最新69国产成人精品视频免费| 亚洲AV永久无码精品表情包| 91国产自拍精品视频| 99久久99久久久精品齐齐| 夜夜爽一区二区三区精品| 亚洲第一区无码专区| 激情五月天色婷婷久久| 少妇性bbb搡bbb爽爽爽| 亚洲精品永久在线观看| 强d漂亮少妇高潮在线观看| 最近更新中文字幕一区二区| 亚洲av无码片vr一区二区三区| 极品粉嫩嫩模大尺度无码| 亚洲无码美韩综合| 日本成年一区久久综合| 人妻体体内射精一区二区| 在线高清精品第一区二区三区| 久久中文字幕av第二页| 久久精品国产亚洲av麻豆瑜伽| 日日碰狠狠添天天爽无码| 欧美国产日本精品一区二区三区| 日本熟妇免费一区二区三区| av无码精品一区二区三区| 色妞www精品视频| 热re99久久精品国产66热6| 午夜免费观看日韩一级片| 久久久亚洲精品无码| 国产又黄又爽视频| 一区=区三区国产视频| 中文字幕亚洲无线码在线一区| 久久久久国产一区二区三区| 2020最新国产激情| 五月天中文字幕日韩在线| 99亚洲男女激情在线观看| 亚洲tv精品一区二区三区| 91久久精品一区二区三区大全| 亚洲av综合av一区| 日本中文字幕在线播放第1页|