iT邦幫忙

2026 iThome 鐵人賽

DAY 19
0
Security

仿生人是否會夢見網頁山羊? 資安小白的30天Webgoat闖關紀錄系列 第 19 篇

[DAY19]仿生人是否會夢見網頁山羊? -- Insecure Direct Object References

  • 分享至 

  • xImage
  •  

今天要寫IDOR了,首先,我們會從DOR是什麼東西開始,再說IDOR是什麼漏洞

DOR是什麼?

Direct Object References(直接物件參考),指的是讓網頁透過客戶端提供的輸入來判斷存取對象或物件
例如我ithome個人檔案網址內的
https://ithelp.ithome.com.tw/users/20184109
當中的20184109就是一種DOR

IDOR又是什麼?

Insecure Direct Object References(不安全的直接物件參照),便是在使用DOR的時候卻沒有做好使用者權限控制,使得滲透者可以僅靠更改DOR內容就訪問到他人的非公開內容,甚至進行修改

Webgoat A1 Insecure Direct Object References 號碼2(題目1)

https://ithelp.ithome.com.tw/upload/images/20261002/20184109g2JwGvvJqx.png

這題真的是解到現在最簡單的了,連帳號密碼都幫我們準備好了,直接填入就可以了(畢竟是導入)

https://ithelp.ithome.com.tw/upload/images/20261002/20184109xzrcDVWZKu.png

Webgoat A1 Insecure Direct Object References 號碼3(題目2)

https://ithelp.ithome.com.tw/upload/images/20261002/20184109KrBgN68erd.png

這關要我們找出什麼是客戶端會顯示的,什麼是不會顯示的,先點看看profile

https://ithelp.ithome.com.tw/upload/images/20261002/20184109bWP26kZvyi.png

可以看到顯示了name, color和 size這三個屬性
接著我們用f12看看有沒有其他東西

https://ithelp.ithome.com.tw/upload/images/20261002/20184109qlef3eYR9b.png

可以看到除了name, color和size外又多了role和userid, 那麼多出來的這兩個便是我們的答案了

https://ithelp.ithome.com.tw/upload/images/20261002/20184109Vmw8I6uq51.png

Webgoat A1 Insecure Direct Object References 號碼4(題目3)

https://ithelp.ithome.com.tw/upload/images/20261002/201841096NV8l5W4Ty.png

這題要我們猜什麼url能夠搜到tom cat這個帳號的profile
既然剛剛我們已經知道userid是2342384了,那就試著填入看看

https://ithelp.ithome.com.tw/upload/images/20261002/201841091zrnn3VZoI.png

雖然錯誤,但也提示我們和剛剛看我們profile時的寫法相近,那我們便攔截一個發送請求的封包

https://ithelp.ithome.com.tw/upload/images/20261002/20184109hTKvcsXzDg.png

看到是WebGoat/IDOR/profile了,後面再加上我們的id 2342384試試看

https://ithelp.ithome.com.tw/upload/images/20261002/20184109dRGk0NdeBj.png

答案便是WebGoat/IDOR/profile/2342384

Webgoat A1 Insecure Direct Object References 號碼5(題目4)

https://ithelp.ithome.com.tw/upload/images/20261002/20184109EqRIlPnGDq.png

這關我們要利用IDOR來看其他人的profile了
先用Burp Suite攔截一個封包看看長怎麼樣

https://ithelp.ithome.com.tw/upload/images/20261002/20184109pi3fAyHgHl.png

可以看到這關用來查profile的寫法是/WebGoat/IDOR/profile/%7BuserId%7D,讓我們在裡面塞我們的id看看

https://ithelp.ithome.com.tw/upload/images/20261002/20184109nvieQ0sun7.png

看起來我們的方向是正確的,接下來我們嘗試看看周圍的其他帳號,後兩碼從00到99
(記得把旁邊的%7B和%7D去掉,不然會怎麼找都找不到答案)

接著我們會看到有一個回復不太一樣的,便是我們的答案了

https://ithelp.ithome.com.tw/upload/images/20261002/20184109Dp0UT3EKTG.png

Buffalo Bill, userid是2342388

這題其實還有一個要改Bill用戶資料的額外小任務,但我試了把GET換成PUT和POST之類的方法都會報錯,之後再來研究

明日內容 Missing Function Level Access Control


上一篇
[DAY18]仿生人是否會夢見網頁山羊?-- hijack session
下一篇
[DAY20]仿生人是否會夢見網頁山羊? --Missing Function Level Access Control
系列文
仿生人是否會夢見網頁山羊? 資安小白的30天Webgoat闖關紀錄 共 20 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言