OWASP TOP 10漏洞及防范

A1 注入 Injection

Web安全頭號大敵学搜。注入攻擊漏洞往往是應(yīng)用程序缺少對輸入進行安全性檢查所引起的娃豹。攻擊者把一些包含攻擊代碼當做命令或者查詢語句發(fā)送給解釋器憔涉,這些惡意數(shù)據(jù)可以欺騙解釋器讨勤,從而執(zhí)行計劃外的命令或者未授權(quán)訪問數(shù)據(jù)箭跳。注入漏洞通常能SQL查詢、LDAP查詢潭千、OS命令谱姓、程序參數(shù)等中出現(xiàn)。

SQL注入實例

防范:

1.使用安全的API刨晴,避免使用解釋器或提供參數(shù)化的接口(prepared statements屉来,or stored procedures)

2.使用白名單來規(guī)范化的輸入驗證方法

3.對輸入的特殊字符進行Escape轉(zhuǎn)義處理

4.權(quán)限最小化,減輕被注入的影響

A2 失效的身份認證和會話管理? Broken Authentication and Session Management

與認證和會話管理相關(guān)的應(yīng)用程序功能往往得不到正確管理狈癞,這就導(dǎo)致攻擊者破壞密碼茄靠、密匙、會話令牌或利用實施漏洞冒充其他用戶身份蝶桶。

案例

防范:使用強大的認證和會話管理控制-OWASP的應(yīng)用安全驗證標準慨绳。

1.使用簡單集中標準化的認證方式;

2.確保SSL在任何時候都會保護會話真竖;

3.使用會話管理功能脐雪;

會話管理:當用戶不操作時,系統(tǒng)必須自動終止超時會話恢共,必須有時間限制战秋;必須提供退出功能,允許用戶強制退出會話旁振;會話標識足夠隨機获询,防止攻擊者猜測到標識涨岁;用戶登錄后必須分配新的會話標識,不使用用戶未登錄前所使用的標識吉嚣,防止會話攻擊

A3 跨站腳本-XSS

XSS的出現(xiàn)時間跟SQL差不多梢薪,是最普遍的web應(yīng)用安全漏洞。當應(yīng)用程序在發(fā)送給瀏覽器的頁面中包含用戶提供的數(shù)據(jù)尝哆,但沒有經(jīng)過適當驗證或轉(zhuǎn)譯秉撇,就會導(dǎo)致跨站腳本漏洞。XSS允許攻擊者在受害者的瀏覽器中執(zhí)行腳本秋泄,這些腳本可以劫持用戶會話琐馆,破壞網(wǎng)站,或?qū)⒂脩糁囟ㄏ虻綈阂庹军c恒序。

XSS案例

防范:

1.對所有不可信的輸入數(shù)據(jù)進行恰當?shù)霓D(zhuǎn)義escape

2.使用白名單的具有恰當?shù)囊?guī)范化解碼功能的輸入驗證方法

3.使用內(nèi)容安全策略(CSP)來抵御整個站點的攻擊

A4 不安全的直接對象引用 Insecurity Direct Object Reference

當開發(fā)人員公開對內(nèi)部實現(xiàn)對象(如文件瘦麸、目錄或數(shù)據(jù)庫鍵)的引用時,就會出現(xiàn)直接對象引用歧胁。如果沒有訪問控制檢查或其他保護滋饲,攻擊者可以操縱這些引用來訪問未經(jīng)授權(quán)的數(shù)據(jù)。

案例

防范:

1.使用基于用戶或會話的間接對象訪問, 防止攻擊者直接攻擊未授權(quán)資源.

2.訪問檢查:對任何來自不受信源所使用的所有直接對象引用都進行訪問控制檢測喊巍,確保用戶對要求的對象有訪問權(quán)限

A5 安全配置錯誤 Security Misconfiguration

良好的安全性需要為應(yīng)用程序屠缭、框架、應(yīng)用服務(wù)器崭参、web服務(wù)器呵曹、數(shù)據(jù)庫服務(wù)器和平臺定義和部署安全配置。默認值通常是不安全的何暮。另外奄喂,軟件應(yīng)該保持更新。攻擊者通過訪問默認賬戶海洼、未使用的網(wǎng)頁砍聊、未安裝補丁的漏洞、未被保護的文件和目錄等贰军,以獲得對系統(tǒng)未授權(quán)的訪問。

沒有考慮安全配置的案例

防范:

1.及時了解并部署每個環(huán)境的軟件更新和補丁信息蟹肘,包括所有的代碼庫词疼。(自動化安裝部署)

2.統(tǒng)一出錯處理機制,錯誤處理會向用戶顯示堆棧跟蹤或其他過于豐富的錯誤消息信息帘腹。

3.使用提供有效分離和安全性強大的應(yīng)用程序架構(gòu)贰盗。

A6 敏感信息泄露 Sensitive Data Exposure

保護與加密敏感數(shù)據(jù)已經(jīng)成為網(wǎng)絡(luò)應(yīng)用的最重要的組成部分。最常見的漏洞是應(yīng)該進行加密的數(shù)據(jù)沒有進行加密阳欲。使用加密的情況下常見問題是不安全的密鑰和使用弱算法加密舵盈。

敏感信息泄露案例

防范:

1.加密存儲和傳輸所有的敏感數(shù)據(jù)

2.確保使用合適強大的標準算法和密鑰陋率,并且密鑰管理到位

3.確保使用密碼專用算法存儲密碼

4.及時清除沒有必要存放的重要的/敏感數(shù)據(jù)

5.禁用自動收集敏感數(shù)據(jù),禁用包含敏感數(shù)據(jù)的頁面緩存

加密方法:采用非對稱加密算法管理對稱加密算法密鑰,用對稱加盟算法加密數(shù)據(jù)秽晚。

對稱瓦糟、非對稱算法對比

A7 缺少功能級訪問控制

大多數(shù)web應(yīng)用程序在實現(xiàn)UI中可見的功能之前,都要驗證功能級別的訪問權(quán)限赴蝇。但是菩浙,當訪問每個函數(shù)時,應(yīng)用程序需要在服務(wù)器上執(zhí)行相同的訪問控制檢查句伶。如果請求沒有得到驗證劲蜻,攻擊者將能夠偽造請求蚀腿,以便在沒有適當授權(quán)的情況下訪問功能奔则。

防范:

1.檢查管理權(quán)限的過程并確保能夠容易進行升級和審計,切忌硬編碼光督。

2.默認缺省情況下楚堤,應(yīng)該拒絕所有訪問的執(zhí)行權(quán)限疫蔓。

3.對于每個功能的訪問,需要明確的角色授權(quán)钾军。檢查每個功能分配的權(quán)限合理有效鳄袍。

A8 跨站請求偽造 CSRF

利用了網(wǎng)站允許攻擊者預(yù)測特定操作的所有細節(jié)這一特點。由于瀏覽器自動發(fā)送會話cookie等認證憑證吏恭,導(dǎo)致攻擊者能夠創(chuàng)建惡意的web頁面來偽造請求拗小。這些偽造的請求很難和合法的請求區(qū)分開。CSRF通過偽裝來自受信任用戶的請求來利用受信任的網(wǎng)站樱哼。

CSRF案例

1.給每個HTTP請求添加一個不可預(yù)測的令牌哀九,并保證該令牌對每個用戶會話來說是唯一性。最好是將獨有的令牌包含在隱藏字段中搅幅,通過HTTP請求發(fā)送阅束,避免在URL中暴露出來。

2.要求用戶重新認證或者判斷他們是一個真實的用戶茄唐。

A9 使用含有已知漏洞的組件

開發(fā)人員使用的組件也會含有漏洞息裸,這些漏洞能夠被自動化工具發(fā)現(xiàn)和利用。然后攻擊者根據(jù)需要定制攻擊代碼并實施攻擊沪编。

防范:

1.標識正在使用的所有組件和版本呼盆,包括所有依賴項

2.及時關(guān)注這些組件的安全信息并保證他們是最新的。

3.建立使用組件的安全策略蚁廓,禁止使用未經(jīng)安全評估的組件访圃。

4.在適當情況下,對組件進行安全封裝相嵌,精簡不必要的功能腿时,封裝易受攻擊部分

A10 未驗證的重定向和轉(zhuǎn)發(fā)

應(yīng)用程序經(jīng)常將用戶重定向到其他網(wǎng)頁况脆,或以類似的方式進行內(nèi)部轉(zhuǎn)發(fā)。當目標網(wǎng)頁是通過一個未驗證的參數(shù)來指定時批糟,就容易被攻擊者利用格了。攻擊者通過誘使受害人去點擊未經(jīng)驗證的重定向鏈接,從而利用不安全的轉(zhuǎn)發(fā)繞過安全檢測跃赚。攻擊者通過重定向可以試圖安裝惡意軟件或者誘使受害人泄露密碼等敏感信息笆搓,通過轉(zhuǎn)發(fā)可以繞過訪問控制。

案例

防范:

1.避免使用重定向和轉(zhuǎn)發(fā)

2.如果使用了重定向和轉(zhuǎn)發(fā)纬傲,則不要在確定目標時涉及到用戶參數(shù)满败。

3.如果無法避免使用目標參數(shù),則應(yīng)確保目標參數(shù)值對于當前用戶是有效的并已授權(quán)叹括。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末算墨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子汁雷,更是在濱河造成了極大的恐慌净嘀,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侠讯,死亡現(xiàn)場離奇詭異挖藏,居然都是意外死亡,警方通過查閱死者的電腦和手機厢漩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門膜眠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人溜嗜,你說我怎么就攤上這事宵膨。” “怎么了炸宵?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵辟躏,是天一觀的道長。 經(jīng)常有香客問我土全,道長捎琐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任裹匙,我火速辦了婚禮野哭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘幻件。我一直安慰自己,他們只是感情好蛔溃,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布绰沥。 她就那樣靜靜地躺著篱蝇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪徽曲。 梳的紋絲不亂的頭發(fā)上零截,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機與錄音秃臣,去河邊找鬼涧衙。 笑死,一個胖子當著我的面吹牛奥此,可吹牛的內(nèi)容都是我干的弧哎。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼稚虎,長吁一口氣:“原來是場噩夢啊……” “哼撤嫩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蠢终,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤序攘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后寻拂,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體程奠,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年祭钉,在試婚紗的時候發(fā)現(xiàn)自己被綠了瞄沙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡朴皆,死狀恐怖帕识,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情遂铡,我是刑警寧澤肮疗,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站扒接,受9級特大地震影響伪货,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜钾怔,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一碱呼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宗侦,春花似錦愚臀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽馋袜。三九已至,卻和暖如春舶斧,著一層夾襖步出監(jiān)牢的瞬間欣鳖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工茴厉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留泽台,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓矾缓,卻偏偏與公主長得像怀酷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子而账,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容