iT邦幫忙

2026 iThome 鐵人賽

DAY 0
0
Security

從 Linux 到 Pwn:30 天學習資安攻防系列 第 25 篇

Day 24|Learning from Documentation:學會閱讀程式使用說明

  • 分享至 

  • xImage
  •  

前言
前面幾天,我們學習了 Linux 的檔案操作,包括使用 find 搜尋檔案,以及使用 ln -s 建立 Symbolic Link。
不過,當我們遇到不熟悉的程式時,光知道怎麼執行還不夠。有時候,即使程式路徑正確,如果沒有提供正確的參數,程式還是無法完成我們想要的操作。
因此,今天開始進入 pwn.college 的新單元:Learning from Documentation(從文件學習)。
這個單元要教我們如何透過程式的使用說明,了解程式需要哪些參數,以及應該如何正確執行。


一、什麼是 Command-line Arguments?

Command-line Arguments,中文通常稱為「命令列參數」,是指執行程式時,額外傳遞給程式的資訊。
例如,之前我們學過的 ls 可以列出目前目錄中的內容。
如果加上 -a 就能列出包含隱藏檔案在內的目錄內容。
這裡的 -a 就是一個參數,它會影響程式的執行方式。
我們也可以把它理解成程式名稱 + 參數
例如 ls -a
其中:

  • ls:要執行的程式。
  • -a:告訴程式要顯示隱藏檔案。

不同程式支援的參數不一樣,因此不能隨意猜測,而是應該先閱讀使用說明。


二、為什麼需要閱讀 Documentation?

Documentation 就是程式的文件或使用說明,通常會告訴我們:

  • 程式的用途。
  • 正確的執行方式。
  • 可以使用哪些參數。
  • 不同參數會產生什麼效果。
  • 執行程式時需要注意哪些條件。
    例如,如果一個程式要求使用 --giveflag,但我們沒有提供這個參數,就可能無法完成題目。
    因此,面對不熟悉的程式時,與其一直嘗試不同的指令,不如先閱讀文件,確認正確的使用方式。
    這個觀念對資安學習也很重要,因為後續接觸更多 Linux 工具、漏洞分析工具或逆向工程工具時,都需要透過文件理解它們的使用方式。

三、實際操作與結果

題目:Learning From Documentation
今天的題目指定要執行的程式是 /challenge/challenge

題目也直接提供了這個程式的使用說明 To properly run this program, you will need to pass it the argument of --giveflag.

意思是要正確執行這個程式,必須傳入 --giveflag 這個參數。
因此,我們不需要猜測參數,也不需要修改任何檔案,只要按照文件提供的資訊執行即可。
我在終端機輸入
https://ithelp.ithome.com.tw/upload/images/20261009/20183180Px4stsz9ew.png
程式成功取得 Flag!
這個結果代表我們提供的參數符合程式的要求。
將指令拆開來看

/challenge/challenge    --giveflag
          │                 │
          ▼                 ▼
      執行的程式          指定的參數

程式接收到 --giveflag 後,確認參數正確,便輸出了 Flag。


四、今天的心得

今天的題目雖然比前幾天簡單,但我認為這是一個很重要的基礎觀念。以前遇到不熟悉的指令時,可能會先嘗試不同的寫法,看看能不能成功執行。但透過今天的練習,我了解到,閱讀文件其實是解決問題最直接的方法之一。程式的參數通常會影響它的行為,而不同工具也可能有完全不同的參數規則。如果沒有先確認使用方式,就可能花很多時間嘗試錯誤的指令。這次只需要加上 --giveflag 就能成功取得 Flag,但真正值得記住的是,先理解程式要求,再根據文件提供的資訊執行。這個習慣不只適用於 Linux,也能運用在未來使用資安工具、分析程式或進行系統除錯時。


上一篇
Day 23|Symbolic Link:用符號連結找到真正的 Flag
下一篇
Day 25|Argument 的 Argument:使用參數讀取指定檔案 前言
系列文
從 Linux 到 Pwn:30 天學習資安攻防 共 28 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言