国产高清在线精品∴_日韩精品国产另类专区久久亚洲_麻 一级无码片在线播放_AA级片欧美久久片_久久久久久久精品综合_91福利福电影

旅行社同業(yè)信息管理系統(tǒng)
RSS訂閱 | 匿名投稿
您的位置:網(wǎng)站首頁 > 互聯(lián)網(wǎng)+ > 正文

新手程序員容易忽視的3個安全問題

作者:桐桐 來源: 日期:2012/5/23 15:09:21 標(biāo)簽:網(wǎng)站安全問題
        作為一個網(wǎng)站站長,尤其是新站站長,有時候為了修改網(wǎng)站的功能、添加網(wǎng)站的特色,就不得不自己寫一些代碼。在這個過程中,若出現(xiàn)一點錯誤,可能就會給網(wǎng)站帶災(zāi)難性安全危機(jī)。即使網(wǎng)站原本是由專業(yè)開發(fā)團(tuán)隊開發(fā)上線的,有較好的安全性,但是在木桶原理的作用下,你添加的那幾行錯誤代碼,完全可以導(dǎo)致整個網(wǎng)站的安全機(jī)制土崩瓦解。

  現(xiàn)在將EeSafe網(wǎng)站安全聯(lián)盟列出幾點使用php架構(gòu)的網(wǎng)站常出現(xiàn)的代碼級安全問題,希望對站長的修改代碼工作有一定的幫助。大家有什么疑問,可以到EeSafe網(wǎng)絡(luò)安全中心交流,EeSafe期待和大家共同進(jìn)步

  1.現(xiàn)在最常見的php代碼編寫上的安全問題

  Php全局變量危害代碼:

  

  很明顯,這是判斷登陸的是否是管理員,很多網(wǎng)站也用這個邏輯判斷其他重要的條件。

  看上去這段代碼很正確,但其實有個致命的錯誤,它假定$isadmin在沒賦值的時候是空值,但由于php語言為了使php代碼訪問用戶的輸入盡可能容易,php把輸入數(shù)據(jù)作為全局變量來處理。所以攻擊者可以創(chuàng)建任意全局變量并賦值。

  如何避免這樣最容易被會略的問題,如果你網(wǎng)站使用的是PHP程序開發(fā),如果你已經(jīng)這樣做了,并且web應(yīng)用程序變量很多的話,最節(jié)省效率的辦法就是修改php的track_vars選項。

  2.網(wǎng)站雙條件認(rèn)證安全問題

  判斷用戶名和密碼,先判斷是否為空,然后從數(shù)據(jù)數(shù)據(jù)庫找同時符合條件的數(shù)據(jù)。

  如果采用這樣的邏輯將直接導(dǎo)致sql注入。

  如果你要增加或修改這樣的功能,程序邏輯應(yīng)該是:首先,找到數(shù)據(jù)庫中用戶名符合的數(shù)據(jù)(當(dāng)然用戶名在數(shù)據(jù)庫中必須是唯一的),然后查看這條數(shù)據(jù)中對應(yīng)的密碼是否和要驗證的密碼相同,這樣就避免雙認(rèn)證問題。

  3.用用戶名去判斷用戶權(quán)限

  很多網(wǎng)站都有這樣的問題,比如

  

  看上去這個也沒有邏輯問題,但為什么還是存在安全漏洞?是因為很多數(shù)據(jù)庫對特殊字符都不處理,比如mysql這樣的數(shù)據(jù)庫,如果輸入的字符在ASCII碼129~255范圍內(nèi),是不做處理的,也就是如果注冊用戶使用“admin+特殊字符”時,他也同樣能夠成功注冊一個名為admin的用戶,安全機(jī)制消失了。歡迎交流探討。

  EeSafe網(wǎng)站安全聯(lián)盟原創(chuàng)文章

  轉(zhuǎn)載請以鏈接形式注明原文地址:http://www.eesafe.com/bbs/thread-1309-1-1.html

分享到:
本文網(wǎng)址:
關(guān)于我們 | 公司新聞 | 行業(yè)資訊 | 人力資源 | 網(wǎng)絡(luò)營銷 | 推廣案例 | 實例欣賞 | 智能模板 | 常用工具 | 桐源信息 | 友情鏈接 | 網(wǎng)站地圖
鄭州桐源計算機(jī)科技有限公司 版權(quán)所有
地址:河南省鄭州市東風(fēng)路科技市場 郵編:450000
電話:13303858500 郵箱:yhxwin@qq.com 備案許可證:豫ICP備09042324號
工商執(zhí)照公示:914101056897296506