如今安全問題
顯得越來越重要,一個大型的互聯網站點,你如果每天查看日志,會發現有很多嘗試攻擊性的腳本。
如果沒有,證明網站影響力還不夠大。信息一體化的背后深藏著各類安全隱患,例如由于開發人員的不嚴謹導致為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自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。
如果我的博客對你有幫助、如果你喜歡我的博客內容,請 “點贊” “評論” “收藏” 一鍵三連哦!