2024理解這幾個安全漏洞,你也能做安全測試!

如今安全問題顯得越來越重要,一個大型的互聯網站點,你如果每天查看日志,會發現有很多嘗試攻擊性的腳本。

如果沒有,證明網站影響力還不夠大。信息一體化的背后深藏著各類安全隱患,例如由于開發人員的不嚴謹導致為Web應用程序編寫的代碼質量堪憂,這很有可能被第三方惡意利用,從而未經授權的訪問就能獲取敏感數據和Web服務器的控制權。

目前很多所謂的安全測試工程師僅僅停留在使用一些自動化審計工具來檢測系統,并對工具檢測出來的Bug進行梳理,然后把它提給開發人員。不懂原理,不懂代碼,當開發人員也對于安全一竅不通的時候,沒辦法從自動審計工具上整理下來的Bug。今天就安全測試做一個簡單介紹,為將來想從事安全測試或者對網絡安全,滲透測試感興趣的各位做好基礎裝備技能的普及。

一、短信轟炸

1、漏洞描述

短信轟炸攻擊是常見的一種攻擊,攻擊者通過網站頁面中所提供的發送短信驗證碼的功能處,通過對其發送數據包的獲取后,進行重放,如果服務器短信平臺未做校驗的情況時,系統會一直去發送短信,這樣就造成了短信轟炸的漏洞。

2、滲透測試

手工找到有關網站注冊頁面,認證頁面,是否具有短信發送頁面,如果有則進行下一步。

通過利用burp或者其它抓包截斷工具,抓取發送驗證碼的數據包,并且進行重放攻擊,查看手機是否在短時間內連續收到10條以上短信,如果收到大量短信,則說明存在該漏洞。

3、風險評級

可對任意手機號轟炸判定為高風險。

只可對當前手機號轟炸或單個手機號碼做了限制,但變換手機號碼仍然可以不斷發送的,判定為低風險。

4、安全建議

合理配置后臺短信服務器的功能,對于同一手機號碼,同一驗證發送次數不超過5-10次,且對發送時間間隔做限制,當發送超過一定次數(可以為0),加入驗證碼驗證。

二、郵件轟炸

1、漏洞描述

應用系統未限制郵件的發送次數和頻率,造成短時間內大量郵件發送至接收者郵箱,造成大量垃圾郵件。

2、滲透測試

手工找到有關網站注冊頁面,認證頁面,是否具有郵件發送頁面,如果有則進行下一步。通過利用burp或者其它抓包截斷工具,抓取發送郵件的數據包,并且進行重放攻擊,查看郵箱是否在短時間內連續收到10封以上郵件,如果收到大量郵件,則說明存在該漏洞。

3、風險評級

  • 可對任意郵箱轟炸,判定為高風險。

  • 只可對當前郵箱轟炸,判定為低風險。

4、安全建議

合理配置后臺郵件服務器的功能,對于同一郵箱,同一驗證發送次數不超過5-10次,且對發送的時間間隔做限制。當發送超過一定次數(可以為0),加入驗證碼驗證。

現在我也找了很多測試的朋友,做了一個分享技術的交流群,共享了很多我們收集的技術文檔和視頻教程。
如果你不想再體驗自學時找不到資源,沒人解答問題,堅持幾天便放棄的感受
可以加入我們一起交流。而且還有很多在自動化,性能,安全,測試開發等等方面有一定建樹的技術大牛
分享他們的經驗,還會分享很多直播講座和技術沙龍
可以免費學習!劃重點!開源的!!!
qq群號:691998057【暗號:csdn999】

三、短信定向轉發

1、漏洞描述

短信接收人可任意指定。

2、滲透測試

攔截發送短信的請求,將手機號改為測試人員的手機號,測試是否可接收短信驗證碼。

3、安全建議

發送短信時手機號從當前會話中獲取,避免從前端傳入。

用戶的手機號不能隨意變動,需要認證過程。

四、郵件可定向轉發

1、漏洞描述

應用系統發送郵件的接收人可由客戶端任意指定。

2、滲透測試

攔截發送郵件的請求,將接收人郵箱改為測試人員的郵箱地址,測試是否可接收郵件。

3、安全建議

發送郵件時郵箱從當前會話中獲取,避免從前端傳入。用戶的郵箱不能隨意變動,需要認證過程。

五、用戶密碼修改/重置

1、漏洞描述

可通過篡改用戶名或ID、暴力破解驗證碼等方式修改/重置任意賬戶的密碼。

2、滲透測試

密碼修改的步驟一般是先校驗用戶原始密碼是否正確,再讓用戶輸入新密碼。

3、修改/重置密碼機制

修改密碼機制繞過方式大概有以下三種:

  • 如果輸入新密碼的接口可以直接訪問,那么在未知原始密碼的的情況下即可直接修改密碼,通常知道了他人的用戶名即可任意修改他人的密碼。

  • 如果系統未校驗修改密碼的用戶身份,那么在提交修改密碼請求時,攻擊者通過輸入密碼,將用戶名或者用戶ID修改為其他人的,即可成功修改他人的密碼。

  • 當修改密碼時系統需要電子郵件或者手機短信確認,而應用程序未校驗用戶輸入的郵箱和手機號,那么攻擊者通過填寫自己的郵箱或手機號接收修改密碼的鏈接和驗證碼,以此修改他人的密碼。

密碼重置機制繞過攻擊方式主要有以下兩種:

  • 通過正常手段獲取重置密碼的鏈接,猜解鏈接的組成結構和內容(如用戶名或者時間戳的MD5值)。在得知他人郵箱的情況下,構造重置他人密碼的鏈接。

  • 在得知他人手機號的情況下,通過窮舉手機驗證碼重置他人的密碼。

4、安全建議

  • 一次性填寫校驗信息(原始密碼、新密碼等)后再提交修改密碼請求。

  • 對客戶端提交的修改密碼請求,應對請求的用戶身份與當前登錄的用戶身份進行校驗,判斷是否有權修改用戶的密碼。

  • 使用手機或郵箱進行驗證時,要與修改密碼的用戶一一對應,且驗證碼僅一次有效,驗證之后即失效,避免暴力破解。

  • 對原始密碼進行了驗證的情況下,限制輸入原始密碼的錯誤次數,防止攻擊者暴力破解原始密碼。

  • 重置密碼鏈接中的關鍵信息應隨機化,不可預測(例如token機制),且禁止將關鍵信息返回到客戶端。

六、SSO認證缺陷

1、漏洞描述

SSO認證存在缺陷,可越權登錄他人賬戶。

2、滲透測試

  • 信息傳輸缺乏安全保證:SSO認證通信過程中大多數采用明文形式傳送敏感信息,這些信息很容易被竊取,致使重要信息泄露。另外,在通信過程中大多數場景沒有對關鍵信息進行簽名,容易遭到偽裝攻擊。

  • 利用Web服務的安全缺陷:由于單點登錄基本上是基于Web服務實現的,所以也不可避免的存在Web服務的安全缺陷,如跨站腳本攻擊、越權攻擊等。

3、安全建議

  • 建議在不影響業務的前提下,使用HTTPS協議傳輸。

  • 嚴格校驗SSO認證過程中的用戶身份。

  • 過濾用戶傳入的參數,對特殊符號進行轉義或屏蔽。

七、越權

1、漏洞描述

越權訪問,這類漏洞是指應用在檢查授權(Authorization)時存在紕漏,使得攻擊者在獲得低權限用戶帳號后,可以利用一些方式繞過權限檢查,訪問或者操作到原本無權訪問的高權限功能。在實際的代碼安全審查中,這類漏洞往往很難通過工具進行自動化檢測,因此在實際應用中危害很大。其與未授權訪問有一定差別。

2、滲透測試

  • 以超管 admin(高權限用戶) 身份登錄系統。

  • 找到一個只有超管(高權限)才有的功能的鏈接,比如:"http://localhost/userManage/userList.do" , 顯示出所有的user,并復制此鏈接。

  • 以普通用戶登陸進系統,在地址欄輸入:userManage/userList.do,確認是否可以查看到其所有的user。

  • 還可以測試同級別用戶的橫向越權訪問。

3、安全建議

對用戶操作進行權限校驗,防止通過修改參數進入未授權頁面及進行非法操作,建議在服務端對請求的數據和當前用戶身份做一個校驗檢查。

八、惡意鎖定問題

1、漏洞描述

通過不斷的輸入錯誤的密碼,惡意鎖定任意賬號。

2、風險評級

  • 鎖定賬戶之后,可繼續使用認證功能,導致可批量自動化賬戶鎖定,為中風險。

  • 鎖定賬戶之后,可繼續使用認證功能,但認證存在防自動化功能,為低風險。

3、安全建議

  • 賬戶鎖定之后應不能繼續使用認證功能,如對請求IP進行一個限制,一段時間之后才可以繼續嘗試認證。

  • 認證功能防自動化操作,如添加圖形驗證碼。

九、業務流程跳躍

1、漏洞描述

應用程序未校驗訂單數據的取值范圍,交易存在負值反沖或正負值對沖。

2、滲透測試

  • 提交訂單時攔截請求,修改訂單參數為負數,如商品單價、數量、總價等。

  • 提交訂單(包含多種商品)時攔截請求,修改部分商品的單價或數量,保證訂單總金額為正數。

3、安全建議

  • 服務器端在生成交易訂單時,商品的價格從數據庫中取出,禁止使用客戶端發送的商品價格。

  • 服務器端對客戶端提交的交易數據(如商品ID、商品數量、商品價格等)的取值范圍進行校驗,將商品ID和商品價格與數據庫中的數據對比校驗,商品數量為大于零的整型數。

  • 服務器端在生成支付訂單時,對支付訂單中影響支付金額的所有因素(比如商品ID、商品數量、商品價格、訂單編號等)進行簽名,對客戶端提交的支付訂單進行校驗。

圖片

以上就是今天的全部內容,希望對大家有所幫助,也希望大家多多留言、點贊、在看、轉發四連愛????支持。?咱們下篇文章見,Bye~👋

下面是配套資料,對于做【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!

最后: 可以在公眾號:程序員小濠 ! 免費領取一份216頁軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!,其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。

如果我的博客對你有幫助、如果你喜歡我的博客內容,請 “點贊” “評論” “收藏” 一鍵三連哦!

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

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

相關文章

章節一、認識three.js與開發環境學習筆記01;

一、如何學習WEB可視化3D技術與課程內容演示; 1、項目案例: 政府有大量的新基建的項目:如數字孿生、智慧城市、智慧園區、智慧工廠、智慧消防等等都涉及了3d的可視化技術; 2、如何系統的學號WEB 3D可視化技術? three…

網絡安全學習筆記1

1.了解kali及安裝 vmware安裝,用戶名密碼均為kali 2.metasploit是什么 3.metasploit攻擊windows系統 在kali中打來終端 數據msfconsole 進入metasploit的控制終端界面 msf的使用法則: 1.使用模塊 2.配置模塊必選項 3.運行模塊 三步操作、實現對…

邏輯回歸與交叉熵--九五小龐

什么是邏輯回歸 線性回歸預測的是一個連續值,邏輯回歸給出的“是”和“否”的回答 Singmoid sigmoid函數是一個概率分布函數,給定某個輸入,它將輸出為一個概率值 邏輯回歸損失函數 平方差所懲罰的是與損失為同一數量級的情形&#xff0…

8、Redis-Jedis、Lettuce和一個Demo

目錄 一、Jedis 二、Lettuce 三、一個Demo Java集成Redis主要有3個方案:Jedis、Lettuce和Redisson。 其中,Jedis、Lettuce側重于單例Redis,而Redisson側重于分布式服務。 項目資源在文末 一、Jedis 1、創建SpringBoot項目 2、引入依賴 …

電商小程序10分類管理

目錄 1 分類數據源2 搭建功能3 創建變量讀取數據4 綁定數據總結 本篇我們介紹一下電商小程序的分類管理功能的開發,先看我們的原型圖: 在首頁我們是展示了四個分類的內容,采用上邊是圖標,下邊是文字的形式。使用低代碼開發&#…

【系統分析師】-需求工程

一、需求工程 需求工程分為需求開發和需求管理。 需求開發:需求獲取,需求分析,需求定義、需求驗證。 需求管理:變更控制、版本控制、需求跟蹤,需求狀態跟蹤。(對需求基線的管理) 1.1需求獲取…

MySQL:合并查詢語句

1、查詢表的數據 t_book表數據 SELECT * FROM db_book.t_book; t_booktype表數據 SELECT * FROM db_book.t_booktype; 提醒: 下面的查詢操作的數據來自上圖查詢表的數據 2. 使用 UNION 查詢結果合并,會去掉重復的數據 使用UNION關鍵字是,數…

社區店經營口號大揭秘:如何吸引更多顧客?

社區店的經營口號是吸引顧客的重要工具,一個好的口號能夠在短時間內傳達店鋪的特色和價值,并引起顧客的興趣。 作為一名開鮮奶吧5年的創業者,我將分享一些關于社區店經營口號的干貨,幫助你吸引更多的顧客。 1、突出獨特賣點&…

群控代理IP搭建教程:打造一流的網絡爬蟲

目錄 前言 一、什么是群控代理IP? 二、搭建群控代理IP的步驟 1. 獲取代理IP資源 2. 配置代理IP池 3. 選擇代理IP策略 4. 編寫代理IP設置代碼 5. 異常處理 三、總結 前言 群控代理IP是一種常用于網絡爬蟲的技術,通過使用多個代理IP實現并發請求…

優思學院|3步驟計算出Cpk|學習Minitab

在生產和質量管理中,準確了解和控制產品特性至關重要。一個關鍵的工具是Cpk值,它是衡量生產過程能力的重要指標。假設我們有一個產品特性的規格是5.080.02,通過收集和分析過程數據,我們可以計算出Cpk值,進而了解生產過…

CentOS 定時調度

文章目錄 一、場景說明二、腳本職責三、參數說明四、操作示例五、注意事項 一、場景說明 本自動化腳本旨在為提高研發、測試、運維快速部署應用環境而編寫。 腳本遵循拿來即用的原則快速完成 CentOS 系統各應用環境部署工作。 統一研發、測試、生產環境的部署模式、部署結構、…

Java中靈活使用Mockito

目錄 Java中靈活使用Mockito引言Mockito簡介基本用法實例演示使用場景和案例解決方案結語 Java中靈活使用Mockito 引言 Mockito是Java中常用的mock框架之一,用于進行單元測試時模擬對象的行為。本文將介紹Mockito的基本用法,并探討如何在實際項目中靈活…

AP8P059 PIR 人體感應太陽能 LED 燈控制芯片

概述 AP8P059 是一款集成低壓 LDO、光控、充電控制、過充保護、欠壓保護、PIR感應、延時為一體的人體感應太陽能 LED燈控制芯片,只需要很少的外接元件,適用于鋰電池供電的PIR人體感應LED燈具的應用。外置的一級帶通增益放大器便于客戶調整感應靈敏度&am…

QT MinGW64編譯vlc源碼

編譯環境搭建 參考文章《QT Mingw32/64編譯ffmpeg源碼生成32/64bit庫以及測試》,搭建msys64環境; 運行msys.exe,運行: pacman -S git subversion cvs automake autoconf libtool m4 make gettext pkg-config mingw-w64-i686-lua findutils …

docker配置數據默認存儲路徑graph已過時,新版本中是data-root

錯誤信息 我在修改/etc/docker/daemon.json文件中,添加存儲路徑graph字段。然后sudo systemctl restart docker包如下錯誤:使用journalctl -xeu docker.service錯誤信息,發現不能匹配graph字段。 原因 我的docker版本: 在doc…

mybatisplus整合flowable-ui-modeler報錯

1、問題 Description:file [/Users/xingyuwei/Documents/project/java/springboot_01/target/classes/com/xingyu/mapper/TemplateMapper.class] required a single bean, but 2 were found:- sqlSessionFactory: defined by method sqlSessionFactory in class path resource…

TypeScript08:在TS中使用模塊化

前言:tsconfig.json中的配置 一、前端領域中的模塊化標準 前端領域中的模塊化標準有: ES6、commonjs、amd、umd、system、esnext 二、 TS中如何書寫模塊化語句 TS 中,導入和導出模塊,統一使用 ES6 的模塊化標準。 myModule.ts &a…

Keil新版本安裝編譯器ARMCompiler 5.06

0x00 緣起 我手頭的項目在使用最新版本的編譯器后,燒錄后無法正常運行,故安裝5.06,測試后發現程序運行正常,以下為編譯器的安裝步驟。 0x01 解決方法 1. 下載編譯器安裝文件,可以去ARM官網下載,也可以使用我…

藍橋杯練習系統(算法訓練)ALGO-993 RP大冒險

資源限制 內存限制:64.0MB C/C時間限制:200ms Java時間限制:600ms Python時間限制:1.0s 問題描述 請盡情使用各種各樣的函數來測試你的RP吧~~~ 輸入格式 一個數N表示測點編號。 輸出格式 一個0~9的數。 樣例輸入 0 樣…

【airtest】自動化入門教程(三)Poco操作

目錄 一、準備工作 1、創建一個pthon腳本 2、光標位置 2、選擇Android 3、選擇yes 二、定位元素 三、poco基于設備/屏幕 方式 1、poco.click( (x,y))基于屏幕點擊相對坐標為x,y的位置 2、poco.get_screen_size() 3、poco.swipe(v1,v2)基于屏幕從v1位置滑到…