Hi there 👋

Welcome to my blog.

AEGIS final 2024 紅隊心得

AEGIS final 2024 前言 這次老樣子跟 B33F 50UP 一起打了神盾,決賽是滲透測試的題目,這邊簡單記錄一下決賽我有碰的地方。 這次拿了第二名,跟第一名同分: 比賽前期 chumy 在處理網路的東西,讓隊員們都可以同時存取到網際網路跟題目。 Recon 比賽開始先掃競賽網段,發現有以下服務 172.12.1.88 有一個 22 port 有一個 5000 port 的網頁服務 172.0.0.55 有一個 80 port 上面放了兩個 pwn 題,交給隊友去解 172.0.0.66 (Windows),簡稱 A 機器 80/tcp open http 看起來有個登入介面,掃路徑後發現有 printenv cgi 讓我們看環境變數 88/tcp open kerberos-sec 135/tcp open msrpc 139/tcp open netbios-ssn 443/tcp open https 445/tcp open microsoft-ds 3306/tcp open mysql 3389/tcp open ms-wbt-server -sC -sV 172....

November 16, 2024 · 4 min · 721 words · Vincent55

bcactf2024 Writeups

前言 這次端午節跟牛肉湯夥伴們用了一些時間來打這場 CTF,解了 web 跟 misc ,剩下的就交給隊友。 因為時間沒有很多,所以策略就是先從分數高的開始解! 這篇記錄我覺得很酷的一些題目。 最後打了 25/1201 題目們在這 https://github.com/BCACTF/bcactf-5.0 misc Jailbreak1 def sanitize(letter): print("Checking for contraband...") return any([i in letter.lower() for i in BANNED_CHARS]) BANNED_CHARS = "gdvxftundmnt'~`@#$%^&*-/.{}" flag = open('flag.txt').read().strip() print("Welcome to the prison's mail center") msg = input("Please enter your message: ") if sanitize(msg): print("Contraband letters found!\nMessage Deleted!") exit() exec(msg) 單純 ban 掉一些字元,也不能用 .,也不會將 exec 結果回傳。 先寫個腳本看我們還剩什麼能用: import builtins exclude_chars = set("gdvxftundmnt") builtins_not_containing_chars = [] for name in dir(builtins): if not any(char in name for char in exclude_chars): builtins_not_containing_chars....

June 11, 2024 · 6 min · 1203 words · Vincent55

深入解析 Python descriptor 與其 opcode 處理

環境 Python 3.9 https://github.com/python/cpython/blob/3.9/ .info-box { padding: 1em; margin-bottom: 1em; border-left: 5px solid #2196F3; background-color: #c0c0c0; color: #101010; font-size: 16px; } .info-box code { color: #003366; background-color: #f8f8f8; padding: 2px 4px; border-radius: 3px; } .info-box code { color: #003366; background-color: #f8f8f8; padding: 2px 4px; border-radius: 3px; } .info-box a { color: #0066cc; text-decoration: none; } .info-box a:hover, .info-box a:focus { color: #004499; text-decoration: underline; } 可以發現 Python 3.10 中此處 ceval....

May 25, 2024 · 6 min · 1256 words · Vincent55

在 Debian 安裝 Neovim 並設定 AstroNvim 自訂設定檔

安裝 Neovim 請先確保你的 Terminal 有 Nerd Fonts sudo apt-get update sudo apt-get -y install fuse git python3-venv unzip ripgrep fzf clangd # install nvm https://github.com/nvm-sh/nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash # install npm nvm install node npm i -g eslint # install cargo curl https://sh.rustup.rs -sSf | sh # install nvim wget https://github.com/neovim/neovim/releases/download/stable/nvim.appimage chmod u+x nvim.appimage && sudo mv ./nvim.appimage /usr/bin/nvim 設定 AstroNvim 安裝 AstroNvim git clone --depth 1 https://github.com/AstroNvim/AstroNvim ~/....

July 8, 2023 · 1 min · Vincent55

CDDC CTF 2023 紀錄

前言 這篇紀錄參加 CDDC CTF 2023 初賽及新加坡決賽,以及過程中發生的趣事。 感謝 Zeze 的邀約,以及企業 TeamT5 與 ST Engineering 的贊助。 某天 Zeze 問我要不要來打 CDDC,看了一下發現決賽可以去新加坡耶,當然好,後續知道另外兩位隊友是 nella17 跟 ETT。 初賽 這次初賽是 Jeopardy 的形式共 36 小時的競賽,題目系統是使用的是主辦方自行開發的系統,題目上除了有題 QRcode restore 要猜 flag 跟某題 Reverse 外,都相對正常。 競賽開始,首先我去看 Web 的題目,題目網址的 https 憑證怪怪的,都無法用瀏覽器正常存取到,然後又有設 HSTS,但最後直接用 ip 去存取 http 就解決了,解題的過程中看到了一題有關 CVE-2023-29017 的 web 題,跑了 poc 下去後就有 flag 了(?,搶到一題 web 的首殺><。 另外有一題 db 用 Edgedb 的 web 題,卡了好久,把各種文檔跟原碼看過一遍了還是沒看到突破口,最後發現可以開 Hint 後,是 CVE-2023-24329 的題目(主辦方好喜歡出 CVE 的題),大概 10 分鐘左右就把這題收掉了 w,浪費好多時間 qq...

June 25, 2023 · 3 min · Vincent55