iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0

Info

Walkthrough

  • 存取網頁後使用帳號和上關獲取的密碼登入,和 Day 0x18 Natas Level 22 → Level 23 一樣有密碼輸入框
    • Imgur
  • 點擊 View sourcecode 超連結查看後端 PHP 程式碼
    • Imgur
  • 分析程式碼邏輯後畫成流程圖如下,透過 strcmp() 驗證密碼,相等時回傳 0 代表通過
    • Imgur
  • 嘗試輸入 passwd[],包含 passwd 通過第一個 if,再透過 [] 代表 array() 使 strcmp() 觸發非預期行為回傳 0,成功獲得下題的登入密碼
    • Imgur

Note

Summary

  • 相關弱點:
  • 弱點原因:
    • 透過 strcmp() 在 5.3.x 到 7.x 間,若參數為陣列導致非預期的回傳值,使攻擊者可繞過身份驗證,獲取權限閱覽敏感資訊
  • 修補建議:
    • 更換其它較安全的認證方式和 API,且針對使用者輸入的長度、型態、特殊字元等過濾及轉譯,並建議立即更換密碼,以減少資訊洩漏的風險

Reference


上一篇
Day 0x18 Natas Level 22 → Level 23
下一篇
Day 0x1A Natas Level 24 → Level 25
系列文
Natas 網頁安全:從入門到放棄35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言