WebGoat學習筆記一---Access Control Flaws

 

l  Using anAccess Control Matrix

不同的用戶訪問權限不相同,題目要求我們找到能夠訪問AccountManager非管理員用戶,那麼我們只需要嘗試userresoure的組合就可以了,經過嘗試,發現Larry用戶的身份是 [User, Manager],卻可以訪問Account Manager

l  Bypass a PathBased Access Control Scheme

在列表中是我們能夠訪問的文件,題目要求我們訪問tomcat/conf/tomcat-users.xml

這裏我們需要使用WebScarab 工具,打開WebScarab 工具,發現她監聽的端口是8008,我們需要設置瀏覽器的代理,讓他的請求都轉發到webscarab中(具體設置就不說了)

然後打開webscarab控制檯,在intercept中把所有方法都選中,不過這裏只用到了post

 

接着在文件列表中隨便點擊一個文件,點擊view file按鈕,立刻彈出Edit Request窗口

經過觀察,發現File的值正好是我剛剛請求的文件

所以可以通過將File的值改爲我們要訪問的文件的路徑來訪問該文件,而此時我們是在WebGoat-5.3_RC1\tomcat\webapps\webgoat\lesson_plans\English目錄下,我們要訪問tomcat/conf/tomcat-users.xml,所以要將File的值改爲../../../../conf/tomcat-users.xml

 

點擊Accept changes

 成功

l  LAB: RoleBased Access Control

Ø  Stage 1:Bypass Business Layer Access Control

題目要求我們使用tom的賬戶登錄,讓它擁有刪除的權限,而tom本身是不具備刪除的權限的,我用tom的賬號登錄後,發現tom的確是沒有刪除的權限的

接着,我繼續使用其他人的賬號登錄,發現Jerry擁有刪除的權限



我點擊DeleteProfile,使用webscarab抓包,在彈出的請求中發現action的值爲DeleteProfile

然後我重新用tom的賬號登錄,選擇列表中的tom,點擊searchStaff

action的值改爲DeleteProfile,點擊accept changes

成功刪除tom的信息

 

Ø  Stage 2: AddBusiness Layer Access Control

此題目叫我們修復上一步發現的漏洞,這道題需要developer版的webgoat,我在網上沒找到,就沒做。應該是要在服務器端加一個驗證,在調用DeleteProfile action時對用戶進行權限驗證。


Ø  Stage 3:Bypass Data Layer Access Control

此題目叫我們讓tom的賬戶能夠看到其他人的profile

選擇tom cat,點擊viewProfile,使用代理查看請求信息

 

 

可以看到請求中有一個employee_id的參數,將他的值該成其他值,例如106,點擊accept,這樣我就看到了jerryprofile

Ø  Stage 4: AddData Layer Access Control

此題和stage2同理

l  Remote AdminAccess

url後面加上&admin=true,這樣可以看到左邊admin function多了幾個選項

我點擊user information,又回覆了原來的權限。重複上述操作,將鼠標停靠在user information上面,顯示的url爲:

http://localhost.:8080/webgoat/attack?Screen=205&menu=2000

接着將url改爲

http://localhost.:8080/webgoat/attack?Screen=205&menu=2000&admin=true

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章