<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      37 Posts :: 64 Stories :: 21 Comments :: 0 Trackbacks

      防范Sql注入式攻擊 收藏
    Sql注入式攻擊是指利用設(shè)計上的漏洞,在目標(biāo)服務(wù)器上運(yùn)行Sql 命令以及進(jìn)行其他方式的攻擊
    動態(tài)生成Sql命令時沒有對用戶輸入的數(shù)據(jù)進(jìn)行驗證是Sql注入攻擊得逞的主要原因
    比如一個在線書店,可以根據(jù)用戶的輸入關(guān)鍵字搜索相關(guān)的圖書。

    string name = GetUserInput("BookName");
    string script = "select table_book where book_name? like? N'%" + name + RunSql(script)
    RunSql(script);

    如果
    name? = " ' select @@servername where '' = ' ";
    這樣就可以得到DB Server的名字


    還以在線書店為例,用戶只有登陸后才能察看自己的帳戶信息,這樣做是無可置疑的,然而用戶驗證的代碼如下

    //id和password直接來自用戶的輸入。未做處理
    string id = GetUserInput("UserID");
    string password = GetUserInput("UserPassword");

    tring script = "select * from table_user where User_ID = '" + id? + "' and User_Password? = '" + password? + "' ";
    RunSql(script);

    如果用戶輸入的password為“ or ''=' ”,那么生成的script就為
    select * from table_user where User_ID = 'UserID' and User_Password? = ' ' or ''=' '
    這樣一來,即使不知道用戶的密碼也可以察看該用戶的帳戶信息了

    再比如,入侵者會把一些巧妙偽裝的代碼嵌入到你動態(tài)生成的Sql命令中,比如
    Delete table_Book where 1 = 1? ...
    use master--


    上面的例子都是一些簡單的示例,攻擊者還可能通過sql的漏洞對操作系統(tǒng)進(jìn)行攻擊,比如運(yùn)行
    [xp_cmdshell],[xp_regread]

    當(dāng)然實際上的攻擊沒有這么簡單,攻擊者還會利用系統(tǒng)設(shè)計的其他漏洞。比如程序把數(shù)據(jù)庫返回的出錯信息沒有進(jìn)行轉(zhuǎn)換就直接輸出給用戶看,那么攻擊者就設(shè)計一些sql語句誘導(dǎo)系統(tǒng)返回需要的信息


    從上面的這些例子可以看出,對數(shù)據(jù)庫訪問權(quán)限的設(shè)計不當(dāng),給與每一個數(shù)據(jù)庫連接太多的權(quán)限,甚至dbo或sa的權(quán)限,也是sql注入式攻擊利用的主要漏洞之一。

    ?

    防范sql注入式攻擊

    最小權(quán)限原則。特別是不要用dbo或者sa賬戶,為不同的類型的動作或者組建使用不同的賬戶,最小權(quán)限原則適用于所有與安全有關(guān)的場合

    對用戶輸入進(jìn)行檢查。對一些特殊字符,比如單引號,雙引號,分號,逗號,冒號,連接號等進(jìn)行轉(zhuǎn)換或者過濾;使用強(qiáng)數(shù)據(jù)類型,比如你需要用戶輸入一個整數(shù),就要把用戶輸入的數(shù)據(jù)轉(zhuǎn)換成整數(shù)形式;限制用戶輸入的長度等等。這些檢查要放在server運(yùn)行,client提交的任何東西都是不可信的

    使用存儲過程,如果一定要使用sq語句,那么用標(biāo)準(zhǔn)的方式組建sql語句,比如可以利用parameters對象,避免用字符串直接拼sq命令。

     

    posted on 2009-08-21 13:24 xiachang88 閱讀(88) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: av无码东京热亚洲男人的天堂| 亚洲精品无码久久久影院相关影片| a高清免费毛片久久| 亚洲精品天天影视综合网| 67194成是人免费无码| 一区二区三区在线观看免费| 亚洲一卡2卡三卡4卡有限公司| 成人免费视频软件网站| 中文字幕乱码系列免费| 91亚洲性爱在线视频| 亚洲日本中文字幕一区二区三区| 18成禁人视频免费网站| h片在线播放免费高清| 亚洲人精品亚洲人成在线| 亚洲一区二区三区自拍公司| 最近2019中文字幕免费看最新 | 亚洲精品天堂成人片AV在线播放 | 久久精品国产亚洲av四虎| 好爽又高潮了毛片免费下载| 日韩av无码免费播放| 亚洲av成人中文无码专区| 亚洲美女大bbbbbbbbb| 亚洲天堂中文字幕在线| 久久久久久久久免费看无码| 精品视频一区二区三区免费| 18禁亚洲深夜福利人口| 亚洲精品一区二区三区四区乱码| 亚洲精品乱码久久久久久蜜桃| 24小时日本在线www免费的| 四虎影视在线影院在线观看免费视频 | 无码天堂va亚洲va在线va| 亚洲日产2021三区在线| 亚洲乱码中文字幕久久孕妇黑人| 日韩免费无砖专区2020狼| 亚洲毛片免费观看| 18禁在线无遮挡免费观看网站| 羞羞漫画登录页面免费| 亚洲欧美成人综合久久久| 亚洲精品国产肉丝袜久久| 国产亚洲人成网站观看| 亚洲色婷婷综合开心网|