學點高階測試工程師才懂的技術:手把手教你進行越權測試
怎樣進行越權測試?
要了解越權測試,首先要先了解什麼是越權攻擊。
越權攻擊顧名思義就是超越了自己的許可權範圍,是指使用者透過某種方式獲取到了不屬於自己的許可權。越權攻擊分為水平越權和垂直越權。加我VX:atstudy-js 回覆“測試”,進入軟體測試學習交流裙~~
下面我們先來說一下水平越權
水平越權:攻擊者嘗試訪問與他許可權相同的使用者資源。比如說在修改使用者資訊時,在瀏覽器上使用者可以看到該使用者的ID是多少,如下圖
這裡如果攻擊者透過猜測或者其他途徑獲取到了其他使用者的ID是多少,那麼就可以在瀏覽器的位址列裡將ID直接換成要攻擊的使用者ID,就可以訪問被攻擊使用者的使用者資訊並對其進行修改。
再舉一個例子,比如說一個使用者在某網站上買了一件商品,但是地址填錯了,要去修改地址
我們看到位址列裡也有訂單號的ID,那麼如果攻擊者獲取到了其他使用者的訂單號資訊,就可以輕易的對訂單資訊進行修改。
接下來我們再來說一下垂直越權
垂直越權:是指攻擊者嘗試訪問更高階的許可權內容。
比如使用者A只有檢視訂單的許可權,頁面的URL如下圖
使用者B有檢視訂單的許可權和檢視賬單的許可權,URL如下
這種情況如果使用者A猜測到了檢視賬單的路徑,那麼就可以直接透過訪問路徑的方法去訪問賬單。
下面我們根據之前講述的兩種攻擊方式的邏輯來寫一下怎樣進行越權測試。
首先是水平越權測試,這裡我們就需要先準備兩個使用者A和B,這兩個使用者有相同的使用者許可權。用使用者A登陸系統去嘗試獲取或者修改使用者B的資訊,具體用例如下
接下來講一下垂直越權測試,垂直越權測試也是需要準備兩個使用者C和D,這兩個使用者要有不同的使用者許可權,比如說A使用者有編輯訂單的許可權,B使用者沒有,下面我們來設計一下測試用例
當然,現在好多網站為了安全起見,操作使用者資訊時,已經不在位址列裡顯示這些敏感資訊了,那如果不顯示的話,越權測試我們該如何進行呢?
下面我們再來說一下如何利用工具進行越權測試。這裡我們使用到的工具是Burp Suite。
首先我們用使用者C登陸系統,然後將頁面定位到編輯使用者資訊的頁面,然後將Burp Suite切換到proxy,點選一下intercept is off,按鈕變成intercept is on開始抓包。
然後在編輯使用者的頁面,點選儲存按鈕,這時候我們就會抓取到一些資料,如下圖
我們可以看到,這裡有使用者的id資料。我們需要將這段資訊儲存到Repeater供回放時使用。操作如下圖
這個時候我們切換到Repeater就可以檢視到我們之前抓取到的資料了。加我VX:atstudy-js 回覆“測試”,進入軟體測試學習交流裙~~
接下來我們透過F12去獲取到使用者D的id,或者是用上述同樣的方式獲取到使用者D的id,將使用者D的id,替換到我們儲存到Repeater中的使用者C的id,如下圖
替換完成,點選“Go”,可在右側檢視執行的結果。
那麼如何根據執行的結果判斷這裡是否存在越權漏洞呢?
執行的結果有兩種,成功和失敗。如果結果返回失敗,那麼我們可以認為這個地方不存在越權攻擊的危險;如果結果返回成功,也有兩種情況,一種是返回成功,使用者D的資訊確實被修改了,這種我們就可以認為這個地方存在越權的風險;另一種情況是返回成功,但是去檢視使用者D的資訊時,並沒有被修改,這種情況我們也可以認為是沒有確認的風險。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2768253/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 高階測試工程師必備技術:用Git版本控制自動化測試程式碼工程師Git
- 效能測試進階實踐篇:10分鐘教你使用JMeter進行websocket測試!JMeterWeb
- 乾貨 | Dubbo 介面測試技術,測試開發進階必備
- 測試漫談之:測試人員需要懂技術嗎?
- [原創] 上海招聘高階測試工程師(效能測試/自動化測試/App測試),長期有效工程師APP
- 手把手教你測試微信小程式,附軟體測試員必知的20個常見測試點微信小程式
- 高階測試:如何使用Flink對Strom任務的邏輯功能進行復現測試?
- 軟體測試技術-黑盒測試
- 效能測試學習篇:Jmeter進階實錄——手把手教你實現指令碼錄製JMeter指令碼
- 初、中、高階測試工程師成長指南工程師
- 高階遊戲開發工程師測試題遊戲開發工程師
- 上海聘:高階軟體整合&測試工程師工程師
- 超實用!手把手教你如何3步進行Web滲透測試!Web
- 介面測試進階篇
- 十分鐘學點測試技術:如何做好敏捷交付驗收測試?敏捷
- [杭州]知名IT公司高薪誠聘測試主管,高階測試高薪
- 面向開發的測試技術(二):效能測試
- H5測試||測試執行階段測啥H5
- 高階軟體測試工程師,需要掌握哪些技能工程師
- Laravel 測試技術Laravel
- 軟體測試技術基礎學習之測試過程
- 大資料測試技術——課堂測試大資料
- 學點新技術: 智慧穿戴外設——手環測試
- 測試開發進階:一文教你從0到1搞懂大資料測試!大資料
- 招聘高階Linux測試工程師(定向培訓生)Linux工程師
- 負載測試如何尋找"拐點"?使用哪種方法進行測試?負載
- 如何能進階成為一個合格的測試工程師工程師
- 滲透測試公司 對於越權漏洞的檢測與修復
- 軟體測試中的行業技術薦行業
- go 單元測試進階篇Go
- 學了Java才搞懂JMeter測試計劃JavaJMeter
- BI專案實施完成,不知道怎麼進行測試?Smartbi手把手教你!
- 軟體測試流程進階----兩年軟體測試總結
- 測試開發工程師修煉手冊—測試技能大盤點工程師
- 優秀的功能測試也可以戰勝技術測試者
- 面向開發的測試技術(三):Web自動化測試Web
- 【星雲測試】開發者測試-採用精準測試工具對Spring Boot應用進行測試Spring Boot
- 【星雲測試】開發者測試-採用精準測試工具對SpringBoot應用進行測試Spring Boot