發表文章

Hack The Box(HTB) - CTF Try Out : Don't Panic! Walkthrough

圖片
 Hack The Box(HTB) - CTF Try Out : Don't Panic! Walkthrough 又是一題僅有檔案的 CTF 檔案下載後一樣僅有一個檔案 一樣是個 ELF 檔案,這一次 strings 沒有任何 HTB 字眼 執行看看,輸入 yes or no 都讓他恐慌 參考這一篇 :  https://medium.com/@ranachouchen4/hackthebox-dont-panic-reverse-engineering-writeup-897bcc6cd809 編寫一個 python code 如下 import pexpect import re import string import random # Initial random flag (HTB format + 27 random letters) flag = "HTB{111111111111111111111111111" ansi_escape = re. compile ( r'\x1B\[[0-?]*[ -/]*[@-~]' ) # Regex to extract character from disassembled cmp line cmp_re = re. compile ( r"cmp\s+\$?0x([0-9a-fA-F]+).*%dil" , re.IGNORECASE) for i in range ( 31 ): gdb = pexpect.spawn( "gdb -q ./dontpanic" , encoding= "utf-8" , timeout= 3 ) gdb.expect_exact( "(gdb)" ) gdb.sendline( "b src::check_flag" ) gdb.expect_exact( "(gdb)" ) gdb.sendline( "run" ) gdb.expect( r"Have you got a message for me\?...

Hack The Box(HTB) - CTF Try Out : LootStash Walkthrough

圖片
 Hack The Box(HTB) - CTF Try Out : LootStash Walkthrough  LootStash Walkthrough 一樣是一題僅有檔案沒有機器的題目 下載後解壓縮僅有一個檔案 stash exiftool 看一下,是個 ELF 檔案 跑個 strings 看看,看有否 flag,結果直接獲得答案 flag : HTB{n33dl3_1n_a_l00t_stack}

用 Python 操作 Excel 的入門程序

圖片
用 Python 操作 Excel 的入門程序  操作說明 : 利用 Python Code 快速建立多個 Excel 檔案 Code 內容如下 : from openpyxl import Workbook names = [ "檔案01" , "檔案02" , "檔案03" , "檔案04" , "檔案05" , "檔案06" , "檔案07" , "檔案08" , "檔案09" , "檔案10" ] for i in names :     wb = Workbook ()     filename = fr "d:\VSC\python\code\1\test\編號_ { i } .xlsx"     wb . save ( filename ) 執行後快速建立 10 個 Excel 檔案如下圖 Code 說明 這段 Python 程式碼的功能是:使用 openpyxl 套件,在指定資料夾中建立 10 個 Excel 檔案,每個檔案的檔名格式為 編號_檔案XX.xlsx ,例如 編號_檔案01.xlsx 。 🔍 一行一行說明: from openpyxl import Workbook ➡ 從 openpyxl 套件匯入 Workbook 類別,這是用來建立新的 Excel 活頁簿(Workbook)的。 names=["檔案01","檔案02","檔案03","檔案04","檔案05","檔案06","檔案07", "檔案08", "檔案09","檔案10"] ➡ 定義一個 names 清單,裡面包含 10 個字串,分別是要用來命名檔案的代號。 for i in names: ➡ 用 for 迴圈依序取出 names 清單中的每個檔名(如 "檔案01", "檔案02"...)...

Python 基礎

圖片
Python 基礎  當初在學 Web 相關實第一個呈現出來在網頁的教學是 Hello World !! 現在學 Python,看到第一個教學輸出是 Hello Python !!,好有即視感。  Code : print ( 'Hello Python !!' ) 輸出結果 其它語法,輸出名字與年齡 name = "ARIES" age = 18 print ( "name= %s " % name ) print ( "age= %s " % age ) 其它寫法 name = "ARIES" age = 18 print ( f "name= { name } " ) print ( F "age= { age } " ) 第三種寫法,這種在名字輸出的部分會有單引號 AI 解釋如下 ✅ 第一種方式:舊式 % 格式化 print("name=%s" % name) print("age=%s" % age) 這裡是將變數 插入字串中 , %s 會轉成字串表示,效果是: name=ARIES age=18 ✅ 第二種方式:f-string 格式化(常用) print(f"name={name}") print(F"age={age}") 這裡的 f"name={name}" 代表「字面上輸出 name= ,然後把 name 的值插進來」,所以輸出: name=ARIES age=18 ❓ 第三種方式:f-string 的 = 語法(Python 3.8+) print(f"{name=}") print(f"{age=}") 這個寫法是 Python 3.8 開始新增的功能,稱為 f-string debug 模式 (官方名稱:f-string with = )。 ✅ 它的作用是: 輸出「變數名稱 + = + repr(變數值) 」 也就是說,這種寫法 不只是印出值,還會連變數名稱一起印出,而且用 repr() 表示法 。 🔍 所以為什麼會有單引號? 因為: prin...

Hack The Box(HTB) - CTF Try Out : Dynamic Paths Walkthrough

圖片
 Hack The Box(HTB) - CTF Try Out : Dynamic Paths Walkthrough 靶機名稱 : Dynamic Paths 難度 : 簡單 瀏覽器開啟來看看,但無法輸入任意值 題目看來就是 [ 在一張只能往右或往下走的方格地圖,從左上走到右下,讓沿途數字總和最小 ] 改用 nc 測試,確認可以輸入值 從輸入結果來看要解題 100 次(因為一開始是 1/100)才能拿到 fl 再次開啟一題如下,解完是 33 輸入後真的進入了第二題 2/100 以上面這一題說明他的邏輯如下,第一題是 Test 1/100 4 4 7 6 4 4 6 8 3 3 8 7 7 7 2 7 2 4 44 第一個 4 表示有 4 列然後第二個 4 表示每一行有 4 個數字 共有 4 列,所以可以改成顯示如下比較好理解 7   6   4   4  6   8   3   3 8   7   7   7 2   7   2   4 然後我們要從左上走到右下,但加總的數字要最小 走法就是如下紅字 7 -> 6 -> 4 -> 3 -> 7 -> 2 -> 4 7   6   4    4  6   8    3    3 8   7    7    7 2   7    2   4 所以這一題的答案就是 7 + 6 + 4 + 3 + 7 + 2 + 4 = 33 用一樣的邏輯解完 100 題就會拿到 flag 了~~~~~~~光用想的就好累 請 AI 依據該邏輯寫了一套 python 來執行就過了,程式碼如下 將內容存成 "dynamic_paths_socket_autosend.py" ====...

Hack The Box(HTB) - CTF Try Out : Flag Command Walkthrough

圖片
 Hack The Box(HTB) - CTF Try Out : Flag Command Walkthrough 靶機資訊如下 名稱 : Flag Command 難度 : 非常簡單 直接開啟來看看 你突然清醒地發現自己置身於一片奇異的外星森林之中。 你到底是怎麼到這裡來的? 內容顯示如下 : 怪誕、難以辨認的聲音在盤根錯節的樹林間迴盪,讓你毛骨悚然。 你環顧四周,發現一個瘦長、咧嘴大笑的身影潛伏在陰影中,像某種瘋狂的咒語一樣低聲念叨著“小丑3n”,顯然是在等你昏過去什麼的。很恐怖吧? 注意!這片森林可不是你奶奶家的後院。 這裡充滿了足以讓恐怖電影都黯然失色的怪異與恐怖。是時候找到出口了。 賭注?哦,沒什麼大不了的。只是你的朋友們,墜入黑暗和絕望的深淵。 點擊“開始”,開啟這場扭曲的冒險! 感覺像是網頁版 RPG 先查看 F12 有甚麼元件,共有三隻 Javascript 請 AI 直接開始破題 觀察選項(應該會出現 4 個方向) HEAD NORTH HEAD SOUTH HEAD EAST HEAD WEST 這些選項與 currentStep = 1 對應,依據 main.js : if (currentCommand == 'HEAD NORTH' ) { currentStep = '2' ; } else if (currentCommand == 'FOLLOW A MYSTERIOUS PATH' ) { currentStep = '3' ; } else if (currentCommand == 'SET UP CAMP' ) { currentStep = '4' ; } 因此你的目標是在輸入特定指令後觸發下一階段邏輯(並最終進入 secret 指令路徑)。 那就輸入 HEAD NORTH 後繼續 AI 依據分析 main.js 的內容後回復如下 非常好,你輸入 HEAD NORTH 之後成功推進劇情,目前系統進入了 currentStep = 2 ,並出現新的四個選項: GO DEEPER INTO THE FOREST FOLLOW A MYSTERIOUS PATH CL...

Hack The Box(HTB) - CTF Try Out : Jailbreak Walkthrough

圖片
 Hack The Box(HTB) - CTF Try Out : Jailbreak Walkthrough 終於又有時間了,這一次改玩 Web,靶機資訊如下 名稱 : Jailbreak (越獄) 難度 : 非常簡單 靶機給了一個 IP 與一個 Port,94.237.54.192:45408,開啟來看看 又是個遊戲風的網站 逛了一圈浪費許多時間在最後的 ROM 發現可以使用 XML 的格式上傳更新 且可以直接在網頁中輸入 XML 的內容 這年頭起手式就是餵給 AI,沒那個美國時間自己看,下面是將現有的 XML 內容餵給 AI 請AI 解釋整段給我的結果 這段 XML 是一個 韌體更新設定檔 (FirmwareUpdateConfig) ,它描述了某裝置或系統進行韌體更新的完整資訊。以下逐層解析: 根元素 <FirmwareUpdateConfig> ... </FirmwareUpdateConfig> 代表這是一個韌體更新的設定檔,裡面包含主要韌體資訊、組件更新內容,以及更新來源網址。 Firmware 區塊 <Firmware> <Version>1.33.7</Version> <ReleaseDate>2077-10-21</ReleaseDate> <Description>Update includes advanced biometric lock functionality for enhanced security.</Description> <Checksum type="SHA-256">9b74c9897bac770ffc029102a200c5de</Checksum> </Firmware> Version :韌體主版本號 → 1.33.7 ReleaseDate :釋出日期 → 2077-10-21 Description :更新說明 → 新增「進階生物辨識鎖定功能」,提升安全性。 Checksum (SHA-256) :韌體檔案完整性驗證值,確保更新檔未被竄改。 Components 區塊 代表韌體中各個子...