Web項目開發(fā)中常見安全問題防范

計算機程序主要就是輸入/輸出佳魔,安全問題由此產生,凡是有輸入的地方都可能帶來安全風險晦炊。根據(jù)輸入的數(shù)據(jù)類型吃引,web應用主要有數(shù)值型、字符型刽锤、文件型镊尺。

要消除風險就要對輸入的數(shù)據(jù)進行檢查,對于Web應用來說并思,檢查的位置主要是前端和后端庐氮。前端檢查只能防止正常狀況,沒法防止使用工具宋彼、程序繞開檢查直接把數(shù)據(jù)發(fā)送給服務器弄砍。

輸入檢查

防止輸入注入型攻擊。所有的輸入數(shù)據(jù)都要檢查输涕,除了前端檢查外音婶,為防止使用工具、程序繞開前端檢查直接把數(shù)據(jù)發(fā)送給服務器莱坎,后端也要檢查所有輸入數(shù)據(jù)衣式。

依據(jù)產品文檔的要求進行合法性檢查,數(shù)值型,手機號碴卧,時間弱卡,郵箱等

檢查文本型是否含控制字符,過濾掉控制字符

檢查文本型的長度

URL字符串轉義住册,使用urlencode函數(shù)處理

文件上傳

防止文件注入型攻擊婶博。

1、文件上傳目錄設置成不可執(zhí)行

2荧飞、判斷文件類型凡人。結合MIME type與文件擴展名,設置文件類型白名單叹阔。對于圖片文件挠轴,可以利用圖片庫函數(shù)深層次檢查是否真是圖片。

3条获、重命名文件名。

4蒋歌、文件服務器使用獨立的域名帅掘。

輸出轉義

防止XSS(跨站腳本攻擊)。向頁面輸出的文本型數(shù)據(jù)進行html encode(轉義)堂油,即是將一些html中的特殊字符轉義成普通字符修档,比如 & 轉義成 & ,< 轉義成 < 府框,'與"都要轉義吱窝。對應的函數(shù):javascriptencode,php的htmlentities迫靖。

同理xml數(shù)據(jù)包里的字符串值使用xmlencode院峡,json數(shù)據(jù)包的字符串值使用jsonencode轉義。

XSS處理

XSS的本質是HTML注入系宜,用戶輸入的數(shù)據(jù)被當成Html代碼執(zhí)行了照激。

1、cookie使用HttpOnly限制

使得在客戶端的js代碼不能讀取cookie值盹牧,但是不能防止從HTTP header里得到cookie值俩垃。

2、輸出文本HTML轉義

對網頁上顯示的文本內容使用HtmlEncode轉義汰寓。js函數(shù):OWASP ESAPI中的encodeCharacter口柳。其它的如xmlencode、jsonencode等轉義函數(shù)有滑。

3跃闹、檢查輸入的URL

輸入的url添加上 http: 或者 https:,然后轉義輸出到網頁端

4、對傳入js函數(shù)的文本型參數(shù)值進行javascript轉義

先進行javascript轉義再進行HTML轉義辣卒。

總結如下

SQL注入

預防辦法:數(shù)據(jù)與代碼分離掷贾,即不用字符串拼湊SQL語句,使用SQL預處理方法(參數(shù)使用占位符 ?)荣茫。

XST處理

XST(跨站追蹤)攻擊想帅,關閉Web 服務器的TRACE方法。

CSRF攻擊的防御

通常需要防御CSRF(Cross-Site Request Forgeries)攻擊的頁面是用戶登錄啡莉、修改/刪除確認港准、訂單確認等添加新數(shù)據(jù)、修改數(shù)據(jù)的頁面咧欣,此外此類頁面必須使用POST方式提交浅缸。

HTTP頭注入

替換HTTP頭字符值中的換行符。

Cookie安全

Cookie僅保存SessionId值魄咕,設置HttpOnly屬性為On衩椒,

用戶密碼安全

1、使用安全的bcrypt替代MD5哮兰,bcrypt會產生隨機鹽 salt

權限控制

1毛萌、SSO單點登錄。OpenID系統(tǒng)

2喝滞、Spring Security的實現(xiàn)-基于角色的訪問控制(Role-Based Access Control)RBAC

3阁将、基于數(shù)據(jù)的訪問控制。比如將用戶Id右遭、對象id修改成另一個存在的id做盅,如果沒有檢查當前登錄用戶是否是參數(shù)對應的id用戶,就會產生修改別的用戶數(shù)據(jù)的問題窘哈,也即是越權訪問吹榴。

4、OAuth授權滚婉。OAuth第三方開源庫

5腊尚、SessionId。sessionid加密處理


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末满哪,一起剝皮案震驚了整個濱河市婿斥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哨鸭,老刑警劉巖民宿,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異像鸡,居然都是意外死亡活鹰,警方通過查閱死者的電腦和手機哈恰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來志群,“玉大人着绷,你說我怎么就攤上這事⌒吭疲” “怎么了荠医?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長桑涎。 經常有香客問我彬向,道長,這世上最難降的妖魔是什么攻冷? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任娃胆,我火速辦了婚禮,結果婚禮上等曼,老公的妹妹穿的比我還像新娘里烦。我一直安慰自己,他們只是感情好禁谦,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布胁黑。 她就那樣靜靜地躺著,像睡著了一般枷畏。 火紅的嫁衣襯著肌膚如雪别厘。 梳的紋絲不亂的頭發(fā)上虱饿,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天拥诡,我揣著相機與錄音,去河邊找鬼氮发。 笑死渴肉,一個胖子當著我的面吹牛,可吹牛的內容都是我干的爽冕。 我是一名探鬼主播仇祭,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼颈畸!你這毒婦竟也來了乌奇?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤眯娱,失蹤者是張志新(化名)和其女友劉穎礁苗,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體徙缴,經...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡试伙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疏叨。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡潘靖,死狀恐怖,靈堂內的尸體忽然破棺而出蚤蔓,到底是詐尸還是另有隱情卦溢,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布昌粤,位于F島的核電站既绕,受9級特大地震影響,放射性物質發(fā)生泄漏涮坐。R本人自食惡果不足惜凄贩,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望袱讹。 院中可真熱鬧疲扎,春花似錦、人聲如沸捷雕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽救巷。三九已至壶熏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間浦译,已是汗流浹背棒假。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留精盅,地道東北人帽哑。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像叹俏,于是被迫代替她去往敵國和親妻枕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理粘驰,服務發(fā)現(xiàn)屡谐,斷路器,智...
    卡卡羅2017閱讀 134,628評論 18 139
  • 《ilua》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 1...
    葉染柒丶閱讀 10,586評論 0 11
  • 從三月份找實習到現(xiàn)在蝌数,面了一些公司愕掏,掛了不少,但最終還是拿到小米籽前、百度亭珍、阿里敷钾、京東、新浪肄梨、CVTE阻荒、樂視家的研發(fā)崗...
    時芥藍閱讀 42,207評論 11 349
  • 《裕語言》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 26,240評論 5 19
  • 伊藤定理 在日語里邊什么藤往往是貴族的后裔,比如什么佐藤什么的,而我們今天要學習的就是伊藤定理,讓我們一起去揭開他...
    云時之間閱讀 7,646評論 4 3