web安全學習-驗證機制存在的問題

驗證機制是應用程序防御惡意攻擊的中心機制。它處于防御未授權的最前沿,如果用戶能夠突破那些防御,他們通常能夠控制應用程序的全部功能,自由訪問其中的數據。缺乏安全穩定的驗證機制,其他核心安全機制(如回話管理和訪問控制)都無法有效實施。

web應用程序常用的驗證機制有:

1)? 基于HTML表單的驗證(最常用)

2)? 多元機制,如組合型密碼和物理令牌

3)? 客戶端SSL證書或智能卡(成本非常昂貴)

4)? HTTP基本和摘要驗證(內網使用較多)

5)? 使用NTLM或Kerberos整合windows的驗證

6)? 驗證服務

接下來說一下,在驗證機制中可能存在的一些問題。一共分為兩個個方面進行說明,分別為設計缺陷和執行缺陷

驗證機制的設計缺陷:

1)? 密碼保密性不強:使用非常短或空白的密碼,已常用的字典詞匯或名稱為密碼,密碼和用戶名完全相同,依然使用默認密碼,存在這些情況容易導致暴力破解。

?

2)? 蠻力攻擊登陸(允許攻擊者使用不同的密碼重復進行登陸嘗試)

?

3)? 詳細的失敗信息(顯示是用戶名或者密碼錯誤,攻擊者可以輕易的確定有效的用戶名作為隨后攻擊的基礎)

通過詳細的失敗信息可以枚舉用戶名,然后根據用戶名去猜測密碼。

4)? 證書傳輸易受攻擊(使用非加密的HTTP連接,應用程序處理證書的方式不安全)

進行一次成功登陸,監控客戶端和服務器之間的所有來回流量,確定在來回方向上傳輸證書的每一種情況,如果發現通過URL字符串或者cookie的方式提交證書,想法弄清楚開發者這樣做的目的。同時使用HTTP協議或者查詢字符串傳遞都是不安全的。

5)? 密碼修改功能(允許詳細的錯誤信息,說明被請求的用戶名是否有效,允許攻擊者無限制猜測現有密碼字段,在驗證現有密碼后,僅檢查新密碼與確認密碼)

使用無效的用戶,無效的現有密碼及不匹配的“新密碼”和“確認密碼”值向密碼修改功能提交各種請求,設法確定任何可用于用戶名枚舉和暴力攻擊的行為。

6)? 忘記密碼功能

用戶名枚舉,質詢響應問題

7)? 記住我功能

記住我功能通過簡單的cookie執行,可能造成推測出其cookie值從而避免登陸

8)? 用戶偽裝功能(造成垂直提權等功能)

9)? 證書確認不完善(截斷密碼,只確認前n個字符,不對密碼進行大小寫檢查,刪除不常用的字符)

10) 非唯一性用戶名(枚舉,泄露另一個賬戶的密碼)

11)? 可預測用戶名

12)? 可預測初始密碼

13)? 證書分配不安全(通過郵件或者郵寄密碼,激活URL表現出某種順序)

?

驗證機制執行缺陷:

1)故障開放登陸機制(邏輯缺陷,

?

?

2)多階段登錄機制中的缺陷

一些應用程序使用精心設計的多階段登錄機制,例如輸入用戶名和密碼,響應一個質詢,答案是pin中的特殊數字或一個值得紀念的詞,提交在不斷變化的物理令牌上顯示的某個值。

3)不安全的證書存儲

以明文存儲證書

?

上面輸了驗證機制中可能存在的一些問題,下面來說一下如何保障驗證機制的安全,

在設計安全機制的時候,需要考慮以下的因素:

應用程序所提供功能的安全程度

用戶對不同類型的驗證控制的容忍和接受程度

支持一個不夠友好的用戶界面系統所需的成本

競爭性解決方案相對于應用程序可能產生的收入方面的金融成本或它所保護資產的價值

具體方法如下:

1)? 使用可靠的證書(強密碼,唯一的用戶名,隨機)

2)? 安全處理證書(使用HTTPS加載登錄表單)

3)? 正確確認證書

4)? 防止信息泄露

5)? 防止蠻力攻擊

6)? 防止濫用密碼修改功能

7)? 防止濫用賬戶恢復功能

8)? 日志,監控與通知

?

轉載于:https://www.cnblogs.com/yonghegn/p/9397450.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251074.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251074.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251074.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ES5-拓展 原型鏈、繼承、類

Symbol不是構造函數 Object不是原型是實例對象 他的構造器繼承原型上的構造器 undefined是未定義 null是空指針 一、原型鏈 1. 函數也是實例對象 2. 構造函數Object是由Function構造出來的 3. 有一種說法是,原型鏈的終點是null Object.prototype.__proto__指向nul…

Mysql中各種與字符編碼集(character_set)有關的變量含義

mysql涉及到各種字符集,在此做一個總結。 字符集的設置是通過環境變量來設置的,環境變量和linux中的環境變量是一個意思。mysql的環境變量分為兩種:session和global。session變量是僅在這次會話紅中有效,在mysql中,一次…

spring boot 加載application配置文件

這就要注意了 轉載于:https://www.cnblogs.com/huochaihe/p/9397849.html

javascript --- 防抖與節流

先做一個監聽鼠標移動的base: <style>#content{height:150px;width:200px;text-align:center;color:#fff;background-color:#ccc;font-size: 70px;} </style> <div id"content"></div> <script>let content document.getElementById…

DOM-9 【實戰】模塊化開發Todolist(面向過程)

模塊化分類 按dom結構劃分按功能劃分&#xff08;組件化開發&#xff09; 模塊與模塊之間可以相互依賴&#xff0c;但互不影響 模塊&#xff1a;IIFE賦值給一個變量&#xff0c;當引入模塊時&#xff0c;IIFE會立即執行 單標簽閉合才符合W3C規范display、position放在上面css是…

mysql在linux下的安裝(5.7版本以后)

1.添加mysql組和mysql用戶&#xff0c;用于設置mysql安裝目錄文件所有者和所屬組。 ①groupadd mysql ②useradd -r -g mysql mysql 2.將二進制文件解壓到指定的安裝目錄&#xff0c;通用的/usr/local ①解壓二進制文件&#xff0c; tar -zxvf /usr/local/mysql-5.7.13-linux-…

Kali Linux2018 上安裝open-vm-tools實現虛擬機交互

最新的kali linux2018已經不再支持原有的vmwaretools&#xff0c;即使安裝了也不能實現主機與客戶機之間的交互&#xff08;比如從主機復制文件到客戶機&#xff09;。安裝open-vm-tools替代vm tools能夠完美實現“自動適應客戶機”&#xff08;即自動適應客戶機的分辨率&#…

DOM-11 【兼容】鼠標行為坐標系、pageXY封裝、拖拽函數封裝

鼠標行為 e.屬性含義相關屬性clientX/Y鼠標位置相對于當前可視區域的坐標x/y&#xff08;FF火狐部分版本不支持&#xff09;pageX/Y(IE9以下不支持)鼠標位置相對于當前文檔的坐標layerX/Y (IE11以下同clientX/Y)screenX/Y鼠標位置相對于顯示器屏幕的坐標offsetX/Y鼠標位置相對…

java --replaceAll方法

public void abc(){String str "aabbccdd";str str.replaceAll("\\d","數字")&#xff1b;system.out.println("str"); } 轉載于:https://www.cnblogs.com/gjack/p/8325778.html

mysql分頁優化

一般分頁這樣寫 select * from goods limit 50,20 從50行開始取20行&#xff0c;即第51行到70行 當數據量少當時候這樣并沒有什么問題&#xff0c;但是如果 select * from goods limit 1000000,20 查詢耗時驟升。 這種方式是查詢出100000020行&#xff0c;再取20行&#xff0c;…

DOM-10 面向對象開發Todolist

將插件配置項寫在html的div里&#xff0c;data-config自定義屬性&#xff0c;外單引號&#xff0c;內雙引號&#xff08;內部是JSON字符串&#xff09; <div class"todo-wrap" data-config{"plusBtn":"j-show-input","inputArea":…

計網 --- 域名服務系統:因特網的目錄服務

主機名: // 主機的一種標識方法如: cnn.com www.yahoo.com gaia.cs.umass.edu cis.poly.edu主機名可能由不定長的字母數字組成,路由器難以處理.由于這些原因, 主機也可以使用IP地址(IP address) 進行標識 // 簡略介紹ip地址 // 一個IP地址由4個字節組成,并有著嚴格的層次結構…

Ansible基礎概述

一、Ansible簡介 Ansible基于Python語言實現&#xff0c;由paramiko和PyYAML兩個關鍵模塊構建。Ansible的編排引擎可以出色地完成配置管理&#xff0c;流程控制&#xff0c;資源部署等多方面工作。Ansible公司負責Ansible開源軟件的維護&#xff0c;管理。一般軟件的更新大概每…

selenium瀏覽器驅動下載地址整理

今天把手頭有的一些關于selenium測試的資源整理了一下&#xff0c;分享出來。 1. 所有版本chrome下載 是不是很難找到老版本的chrome&#xff1f;博主收集了幾個下載chrome老版本的網站&#xff0c;其中哪個下載的是原版的就不得而知了。 http://www.slimjet.com/chrome/google…

DOM-12 【模擬桌面待講評】鼠標事件深入、點擊與拖拽分離、雙擊事件

鼠標事件深入 點擊事件 mousedown mouseupposition: absolute 會將內聯元素變為塊級&#xff08;比如a&#xff09;a標簽的協議限定符&#xff08;偽協議&#xff0c;防止跳轉和刷新&#xff0c;讓href不生效&#xff09;&#xff0c;javascript:;&#xff0c;可以讓點擊和拖…

scrapy的操作

轉載于:https://www.cnblogs.com/mengqingjian/p/8337772.html

http --- HTTPS是在安全的傳輸層上發送的HTTP

HTTPS: // HTTPS是最常見的HTTP安全版本 // 是在安全的傳輸層上發送的HTTP// 將HTTP報文發送給TCP之前,先將其發送給了一個安全層(通過SSL協議實現),對其進行加密.然后再發送給TCP // 在服務器端,通過提取商量好的密鑰進行解密HTTPS方案: // 對Web服務器發起請求時,需要有一種…

Devexpress xaf針對某個用戶登錄后在面板中設置導航無效的解決方法

Devexpress xaf框架生成的項目默認情況下導航欄是顯示在左側&#xff0c;有時候我們用某個賬戶登錄后&#xff0c;發現導航欄無法顯示在左側&#xff0c;操作十分不方便。我們可以去數據庫刪除當前登錄用戶的自定義布局 解決方法如下: 1、查詢PermissionPolicyUser用戶表&#…

DOM-13 【實戰】輸入及狀態改變事件、京東搜索框

模塊化 IIFE window.onload function () {init() }function init() {keySearch()others() // 多人開發的模塊 }var keySearch (function () {var searchKw document.getElementById(J_search_kw),autoKw document.getElementById(J_autoKw),recomKw JSON.parse(document…

吳恩達“機器學習”——學習筆記二

定義一些名詞 欠擬合&#xff08;underfitting&#xff09;&#xff1a;數據中的某些成分未被捕獲到&#xff0c;比如擬合結果是二次函數&#xff0c;結果才只擬合出了一次函數。 過擬合&#xff08;overfitting&#xff09;&#xff1a;使用過量的特征集合&#xff0c;使模型過…