學點高階測試工程師才懂的技術:手把手教你進行越權測試
怎樣進行越權測試?
要了解越權測試,首先要先了解什麼是越權攻擊。
越權攻擊顧名思義就是超越了自己的許可權範圍,是指使用者透過某種方式獲取到了不屬於自己的許可權。越權攻擊分為水平越權和垂直越權。加我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
- 初、中、高階測試工程師成長指南工程師
- [原創] 上海招聘高階測試工程師(效能測試/自動化測試/App測試),長期有效工程師APP
- 高階軟體測試工程師,需要掌握哪些技能工程師
- 效能測試進階實踐篇:10分鐘教你使用JMeter進行websocket測試!JMeterWeb
- 乾貨 | Dubbo 介面測試技術,測試開發進階必備
- 前端工程師的技術進階點在哪裡?前端工程師
- 如何能進階成為一個合格的測試工程師工程師
- 進軍測試開發工程師之路~工程師
- 90%測試工程師不知道的測試方法工程師
- 測試工程師的面試總結工程師面試
- 【成都】Android、golang、高階研發、測試工程師招聘瞭解下哇AndroidGolang工程師
- 剛入行的軟體測試工程師如何自學軟體測試?工程師
- 10年軟體測試工程師,只剩下這點感悟了(初級測試工程師必看)工程師
- 高階測試:如何使用Flink對Strom任務的邏輯功能進行復現測試?
- 手把手教你測試微信小程式,附軟體測試員必知的20個常見測試點微信小程式
- 測試工程師最怕的事工程師
- 測試開發工程師修煉手冊—測試技能大盤點工程師
- 效能測試學習篇:Jmeter進階實錄——手把手教你實現指令碼錄製JMeter指令碼
- 測試工程師必知的10大測試法則工程師
- 轉:測試工程師的面試總結工程師面試
- 軟體測試技術-黑盒測試
- 超實用!手把手教你如何3步進行Web滲透測試!Web
- 測試工程師必學:測試人員如何深入瞭解專案工程師
- 優秀網際網路高階測試工程師應該具備的能力工程師
- 論測試工程師的職責工程師
- 【安全測試工程師】超實用的Web滲透測試學習路線~工程師Web
- 100道測試工程師筆試題工程師筆試
- 測試工程師為什麼需要產品思維?5種方式教你提高測試效率!工程師
- 十分鐘學點測試技術:如何做好敏捷交付驗收測試?敏捷
- 面試總結——Java高階工程師面試Java工程師
- 介面測試進階篇
- Laravel 測試技術Laravel
- 通用測試技術
- H5測試||測試執行階段測啥H5
- 前端工程師的技術進階點,月薪5萬難嗎?難!前端工程師
- 高階 Android 工程師的進階之路Android工程師
- 一個優秀的軟體測試工程師該如何進行需求分析工程師