iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0

Info

Walkthrough

  • 存取網頁後使用帳號和上關獲取的密碼登入,發現類似 Day 0x0A Natas Level 8 → Level 9Day 0x0B Natas Level 9 → Level 10 的頁面,但描述改成「因為安全問題,現在已過濾更多字元」
    • Imgur
  • 點擊 View sourcecode 超連結查看後端 PHP 程式碼
    • Imgur
  • 分析程式碼邏輯後畫成流程圖如下,主要區別是特殊字元的黑名單檢查更多,包含 ;|&`\'"
    • Imgur
  • 嘗試搜尋任意字,例如 duck,發現找到多筆匹配,再根據結果改成搜尋 ducks 則只有一筆符合
    • Imgur
    • Imgur
  • 利用黑名單中不包含的 $(command) 構造 Payload ducks$(grep ^a /etc/natas_webpass/natas17),代表以 a 開頭的字串是否存在於下關密碼中,若存在則執行 grep –i "ducksa" dictionary.txt 導致回顯為空;若不存在則執行 grep –i "ducks" dictionary.txt回顯只包含 ducks 字串
    • Imgur
    • Imgur
  • 透過上述資訊撰寫 Python 腳本枚舉下題的登入密碼,在只有一筆符合條件的前提下,目標單字根據喜好選用即可
    • Imgur

Note

Summary

Reference


上一篇
Day 0x10 Natas Level 14 → Level 15
下一篇
Day 0x12 Natas Level 16 → Level 17
系列文
Natas 網頁安全:從入門到放棄35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言