iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 28
0
Security

資安補漏洞,越補越大洞系列 第 28

[Day 28] 來玩WebGoat!之16:Access Control Flaws - Missing Function Level Access Control

大家好,今天原本要繼續介紹昨天不安全的直接物件參考的挑戰,但不知道為什麼,我的每台電腦都無法正常執行當中的關卡,但又沒時間看錯誤在哪裡了,只好先跳到下一個遺失功能層級的存取控制 (Missing Function Level Access Control)課程來介紹。

遺失功能層級的存取控制 (Missing Function Level Access Control)

遺失功能層級的存取控制指的是,功能本身就會有洩漏資訊的風險,跟昨天介紹的不安全的直接物件參考不大相同,遺失功能層級的存取控制並不需要使用者輸入任何資訊,自己就會把不應該暴露出來的資料抖出來啦!(σ゚∀゚)σ..:*☆

接下來就進到第2步的練習吧,在這一步的練習中,要告訴各位一個概念,也就是大家寫網頁的時候,可時候可能貪圖方便,會把一些使用者不常用的功能,或是想隱藏起來的資訊單純用HTML、CSS或Javascript來把它隱藏起來,例如下面這兩段程式碼:

<input type="hidden" id="secret_num" name=" secret_num " value="C8763">
<div style="display: none; "> Secret content </div>

這種方式並無法真正將內容隱藏起來,因為這些語法都是可以從瀏覽器端直接進行修改的,使用者只有在瀏覽器端利用開發者工具等,就可以把這些隱藏的資訊顯示出來。

https://ithelp.ithome.com.tw/upload/images/20181112/20107304i5Hfymk8HC.png

這一題就是想提醒這樣的觀念,並要求我們找到隱藏的兩個Menu項目是什麼,因此我們利用瀏覽器的開發者工具,此工具通常按F12就可以開啟,並觀察目標區塊內容。

https://ithelp.ithome.com.tw/upload/images/20181112/20107304OPlIXT3qNo.png

從裡面發現了幾個隱藏起來的項目,而根據題目要求,打開類別名稱含有「hidden-menu-item」的區塊,接著就找到兩個被隱藏起來的值啦,也就是「Users」跟「Config」。

https://ithelp.ithome.com.tw/upload/images/20181112/201073041suq1IQ2oG.png

再把這兩個值輸入答案欄位後就通過這關囉!這邊注意一下,恭喜的訊息有提醒這題的內容在下一個挑戰也會用到,所以我們先把這頁放著不要關掉。

https://ithelp.ithome.com.tw/upload/images/20181112/20107304aBlH8nysgC.png

馬上進到第3步的挑戰題,在這一題裡,我們要想辦法利用上一題找到的隱藏連結,並找出目前登入Webgoat這個使用者的Hash值是多少。

https://ithelp.ithome.com.tw/upload/images/20181112/20107304oy7YpwpNqw.png

根據線索,我們要先連到上一題的隱藏連結試試看,也就是「http://localhost:8080/WebGoat/Users 」及「http://localhost:8080/WebGoat/Config 」。
先用猜的大概也知道,我們要的答案會是在Users這頁裡,因此我們根據題目的提示(按頁面上方的Show hints可以看到),先用ZAP攔截HTTP請求,再把Content-Type改為application/json後送出。

https://ithelp.ithome.com.tw/upload/images/20181112/20107304tFlS1I9Lxe.png

接著我們發現伺服器吐回來系統的使用者列表及其Hash值,因為我的WebGoat就只有建一個帳號,所以只有一組值,如果你有多組值的話,記得這題的答案是要你現在登入使用那組帳號的Hash值喔。

https://ithelp.ithome.com.tw/upload/images/20181112/20107304EcyWCwEukh.png

把Hash值輸入送出後就順利過關啦~

https://ithelp.ithome.com.tw/upload/images/20181112/20107304657oP4jWTT.png

那今天的文章就介紹到這邊啦,這些問題都是網頁開發者多少都會粗心沒注意到的,也請大家多加小心囉!


上一篇
[Day 27] 來玩WebGoat!之15:Access Control Flaws - Insecure Direct Object References 1
下一篇
[Day 29] 來玩WebGoat!之17:Request Forgeries
系列文
資安補漏洞,越補越大洞30

尚未有邦友留言

立即登入留言