picoCTF - Static ain't always noise 實戰解析

閱讀時間約 3 分鐘

前言

熱騰騰的文章又來囉~

在開始之前想先聊聊為甚麼我想些 picoCTF 這系列的文章。

會寫這系列的文章除了因為不知道要寫甚麼以外,還有因為,其實 CTF 的 writeup 很少中文版的。雖然有可能是我單純沒看到,不過,我也想藉此來宣傳「資安是很有趣的東西」這樣的概念。




Static ain't always noise

題述


打開 static 檔案後會發現裡面一推亂碼,而 BASH script下載下來後是一個叫 ltdis.sh 的檔案,裡面有一串看不懂的程式碼

好,所有該看的都看完了,我們開始解題吧~。


開始解題

看到一推亂碼我的第一反應是用 linux 中的指令----strings

官方的說法是說它可以幫我映出檔案裡可以印出的字元,不過,個人使用起來是覺得它本身有點將 binary 解碼的感覺。

不管如何用strings空格 static,enter 按下去後會跑出一推看似比較看得懂的英文字。前後找一下就可以看到 flag 了。

如果怕慢慢找眼睛會花掉,可以在後面加一行|grep pico意思就是我們要從strings輸出的文字中找含有 pico 的字串。

raw-image

當然,我想這應該也不是作者想要的方式,畢竟我們連第二個檔案都沒用到。

因此,用 google 大神查了一下看到了第二種解法。

首先,我們要了解地個檔案室甚麼牛鬼蛇神。

其實,從檔名就可以知道它是 bash 腳本,一個 linux 裡很常見的程式語言。不過,因為我沒學過😅,所以我請 AI 幫我解讀了一下裡面的內容,如下。


用於反組譯二進制文件並從中提取字符串。以下是腳本的主要步驟:

  • 開始反組譯:使用objdump命令對指定的二進制文件進行反組譯,只針對.text段落。
  • 檢查結果:確認生成的文本文件$1.ltdis.x86_64.txt是否非空。
  • 提取字符串:如果反組譯成功,則使用strings命令從二進制文件中提取字符串並附上文件偏移量。
  • 錯誤處理:如果反組譯失敗,則顯示錯誤信息並終止腳本。


簡單來說,它將檔案反組譯後會用strings指令處理過後再輸出。跟我們在做的事情有點像呢。

不過在我們下./ltdis.sh後他跑出 Permission denied,這個原因大機率是權限不符,所以我們要再下一個指令sudo chmod +R 777(+R是遍歷所有子目錄,理論上是不用,不過別人的writeup有用到我就把它秀給大家看),這樣我們就可以取得 ltdis.sh 的所有權限了。

將要反組譯的檔案 static 放在./ltdis.sh後面-->./ltdis.sh static,我們就開心的拿到 flag 啦~。




結語

其實,這題是許多在學 linux 基礎指令時會看到的類似題型,所以如果還想在練習看看其他題可以到picoCTF上輸入 strings it。這題就單純是在考 strings 的用法了。


駭客們正監聽著你的電腦,看你有沒有幫這篇按讚😎

內容總結
picoCTF平台
5
/5
16會員
103內容數
有別於未付費的文章,專題區的文章偏向愛情短篇小說,較有戲劇性,篇幅也會較長;未付費文章會偏向極短篇小說,並且以類似散文的手法寫作
留言0
查看全部
發表第一個留言支持創作者!
周濡墨的沙龍 的其他內容
本來打算是一天一題的,但前天興致高昂,一不小心就寫了兩題。 不過,也因為這兩題相對簡單,所以我才能完成這樣的任務。要知道在 picoCTF 平台裡,難的事非常難。我就曾經為了一題足足花了兩天才弄懂。 最後在開始之前和大家分享一個挑題的小技巧。
0/5picoCTF平台
感覺再不寫些甚麼筆就要開始生鏽了,以這樣的心情決定開啟 picoCTF writeup 系列。 也是因為最近生活過得平平淡淡,沒什麼值得和大家分享的,只好來寫寫我覺得有趣的 picoCTF題目 writeup。 這篇是這系列的第一篇。希望自己可以用簡顯易懂的方式帶著各位享受尋找寶藏(flag)
5/5picoCTF平台
本來打算是一天一題的,但前天興致高昂,一不小心就寫了兩題。 不過,也因為這兩題相對簡單,所以我才能完成這樣的任務。要知道在 picoCTF 平台裡,難的事非常難。我就曾經為了一題足足花了兩天才弄懂。 最後在開始之前和大家分享一個挑題的小技巧。
0/5picoCTF平台
感覺再不寫些甚麼筆就要開始生鏽了,以這樣的心情決定開啟 picoCTF writeup 系列。 也是因為最近生活過得平平淡淡,沒什麼值得和大家分享的,只好來寫寫我覺得有趣的 picoCTF題目 writeup。 這篇是這系列的第一篇。希望自己可以用簡顯易懂的方式帶著各位享受尋找寶藏(flag)
5/5picoCTF平台
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
本文為遊戲教學和攻略,主要介紹了遊戲中的操作技巧、重要提示和過關攻略
Thumbnail
在PHP中可以用$this、self、與static代表自己這個類別,有些人可能搞不清楚他們的區別,尤其是self、與static,但是他們各別有自己的意義和用法,在實戰中這些些微的差別可能就會造成不可預期的問題,本文仔細說明了他們之間的差別。
介紹 大家第一次聽到,static 肯定很陌生。簡單來說,這個東西就是拿來存放一些我們經常會用到的檔案,比方說: CSS、JS、Image、Audio、Video...... 只要是網頁上可能會用到的檔案,我們基本上都會存在 static 當中,方便我們可以在不同路徑中,快速的存取這些檔案
Thumbnail
先前學到自定函式的使用方法,那如果在一個很龐大的程式架構中發散了一推自定函式,有沒有辦法可以整理一下,讓程式結構整齊又簡潔呢? 可以使用裝飾器staticmethod 定義靜態方法,全部整理到一個類別去,想像成是一個工具箱的概念,工具箱就是類別,靜態方法就像是裡面的工具一樣。
Thumbnail
在影像、圖像、構圖的藝術裡基本的視覺元素是由「點」、「線」、「面」所組成。本篇介紹的影像美學識別練習是「線條」,線條可以引導觀者觀看圖像的方向及位置。
Thumbnail
從官網可以知道,我們在建立一組高可用的Kubernetes Cluster時,針對ETCD有二種做法,一種是與Master節點共用,另一種則是將ETCD再獨立出來三個節點成為一組Cluster來進行運作。 本文將說明如何建置出外部的ETCD Cluster,並以Static Pod的方式運行與管理
Thumbnail
BinWalk 是一個用於分析檔案、逆向工程和提取韌體映像檔的工具。
Thumbnail
這篇文章將會講述 static 的小技巧,讓常用的欄位不用重複指定或拖拉。
Thumbnail
static 關鍵字主要用於管理記憶體,可用在variables, methods, blocks, nested classed。加上static關鍵字的物件,會在啟動程式當下就會賦予記憶體位置給此物件,後續無論實例化多少次,記憶體的位置都相同。 以class舉例,static class 與
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
本文為遊戲教學和攻略,主要介紹了遊戲中的操作技巧、重要提示和過關攻略
Thumbnail
在PHP中可以用$this、self、與static代表自己這個類別,有些人可能搞不清楚他們的區別,尤其是self、與static,但是他們各別有自己的意義和用法,在實戰中這些些微的差別可能就會造成不可預期的問題,本文仔細說明了他們之間的差別。
介紹 大家第一次聽到,static 肯定很陌生。簡單來說,這個東西就是拿來存放一些我們經常會用到的檔案,比方說: CSS、JS、Image、Audio、Video...... 只要是網頁上可能會用到的檔案,我們基本上都會存在 static 當中,方便我們可以在不同路徑中,快速的存取這些檔案
Thumbnail
先前學到自定函式的使用方法,那如果在一個很龐大的程式架構中發散了一推自定函式,有沒有辦法可以整理一下,讓程式結構整齊又簡潔呢? 可以使用裝飾器staticmethod 定義靜態方法,全部整理到一個類別去,想像成是一個工具箱的概念,工具箱就是類別,靜態方法就像是裡面的工具一樣。
Thumbnail
在影像、圖像、構圖的藝術裡基本的視覺元素是由「點」、「線」、「面」所組成。本篇介紹的影像美學識別練習是「線條」,線條可以引導觀者觀看圖像的方向及位置。
Thumbnail
從官網可以知道,我們在建立一組高可用的Kubernetes Cluster時,針對ETCD有二種做法,一種是與Master節點共用,另一種則是將ETCD再獨立出來三個節點成為一組Cluster來進行運作。 本文將說明如何建置出外部的ETCD Cluster,並以Static Pod的方式運行與管理
Thumbnail
BinWalk 是一個用於分析檔案、逆向工程和提取韌體映像檔的工具。
Thumbnail
這篇文章將會講述 static 的小技巧,讓常用的欄位不用重複指定或拖拉。
Thumbnail
static 關鍵字主要用於管理記憶體,可用在variables, methods, blocks, nested classed。加上static關鍵字的物件,會在啟動程式當下就會賦予記憶體位置給此物件,後續無論實例化多少次,記憶體的位置都相同。 以class舉例,static class 與