iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0

Info

Walkthrough

  • 存取網頁後使用帳號和上關獲取的密碼登入,發現長得和 Day 0x07 Natas Level 5 → Level 6 一樣
    • Imgur
  • 點擊 View sourcecode 超連結查看後端 PHP 程式碼,發現存在 hard-coded credential
    • Imgur
  • 分析程式碼邏輯後畫成流程圖如下,可推測 $encodedSecret 應是經過同樣步驟產生,因此如果要讓使用者輸入與其相等,就須將步驟顛倒來得出編碼前的明文,最後可推出 $secret = oubWYf2kBq
    • Imgur
  • 返回網頁將 $secret 值填進輸入框並按下 Submit Query 提交
    • Imgur
  • 成功獲得下題的登入密碼
    • Imgur

Note

  • 類似 Day 0x07 Natas Level 5 → Level 6,只是經過簡單的編碼轉換等方式而已,因開發方便將密碼等認證資訊寫入程式碼中,所有產品都將擁有同組密碼,使後續管理及維運的彈性降低,可能導致身分認證措施失效
    • E.g., 若開發人員因疏忽將原始碼公開在 GitHub 等平台,或攻擊者透過逆向等方式獲取密碼,造成針對該產品的大規模攻擊

Summary

  • 相關弱點:
  • 弱點原因:
    • 後端程式使用經簡易編碼後寫死的認證資訊
  • 修補建議:
    • 停用 Hard-coded 儲存認證資訊的方式,並建議立即更換密碼,以減少資訊洩漏的風險

Reference


上一篇
Day 0x08 Natas Level 6 → Level 7
下一篇
Day 0x0A Natas Level 8 → Level 9
系列文
Natas 網頁安全:從入門到放棄35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言