Python interpreter Author: 堇姬Naup 定義先定義一下何謂python interpreter,就是用來解釋code object的 tiny interpreter首先要建立一個解釋器,需要給他一個指令集這邊先要求實現一件是,就是做加法需要有以下指令 LOAD_VALUE -> 載入數字至stack上、參數是要載入到stack上的數字 ADD_TWO_VALUES -> 將stack最上層跟最上層-1 pop然後相加,將結果放到stack上、無參數 PRINT_ANSWER -> 印出stack最上方層並pop掉、無參數 先將要加的兩個數
pwnable.tw-hacknote Author: 堇姬Naup code analyzemain123456789101112131415161718192021222324252627282930313233343536373839404142434445void __cdecl __noreturn main(){ int v0; // eax int v1; // [esp-Ch] [ebp-24h] int v2; // [esp-8h] [ebp-20h] int v3; // [esp-4h] [ebp-1Ch] char v4[4]; // [esp+
AIS3 Junior 2024-command injection bypass master Author: 堇姬Naup 前言這次去AIS3 junior當了助教,也是我第一次當助教,這次跟vincent一起擔任A組的助教,本篇記錄了一些我們學員專題題目,我的解題及vincent的解題方法 學員的專題這次A組的學員挑的專題是針對command injection加入了更多黑名單bypass的方法,他們出完很開心的拿來給我跟vincent玩,結果我們問他們有沒有官解他們說沒有www,不過這題是真的出的很好 先看source code吧 main 123456789101112131415
Pwn-SROP Author: 堇姬Naup signal機制 kernel向process發起signal機制,Process暫時中斷,進入kernel 保存環境(簡單來說就是保存了各個暫存器的值,將所有東西壓入stack,並壓入signal相關訊息),這段記憶體被稱為Signal Frame 到signal handler處理 恢復環境 繼續執行process signal frame 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152str
Pwnable.tw-start Author: 堇姬Naup 題目123456789101112131415161718192021220x08048060 <+0>: push esp0x08048061 <+1>: push 0x804809d0x08048066 <+6>: xor eax,eax0x08048068 <+8>: xor ebx,ebx0x0804806a <+10>: xor ecx,ecx0x0804806c <+12>: xor edx,edx0x080480
AIS3 2024 - 專題研究成果 Author: 堇姬Naup 專題我是網頁、IoT及軟體安全的A2。這次是做IoT的漏洞專題,這次是研究Tenda router,研究的型號是AC10、AC15兩個型號,並且嘗試從CVE付現到挖出漏洞,雖然沒有拿最佳專題,但我也學到很多。以下是研究內容 AC10 CVE付現解firmware1binwalk -E US_AC10V1.0RTL_V15.03.06.23_multi_TD01.bin 看起來沒有加密 直接 1binwalk -e US_AC10V1.0RTL_V15.03.06.23_multi_TD01.bin 模擬 qemu-mip
HITCON CTF 2024 Author: 堇姬Naup rank: 24th & Taiwan 1st 這次跟bamboofox & starburst kiwawa & b33f一起打,主要看we Echo as a Servicesource codeDockerfile 12345678910111213141516171819202122FROM oven/bun:1.1.8-slimRUN apt-get update && apt-get install -y gccRUN useradd -ms /bin/bash ctfW
Pwn-Tcache bin dup Glibc 2.27基本上跟Fastbin dup很像,但換成了Tcache Glibc 2.27沒有檢查鍊表上第一個是不是現在要free掉的chunk,所以可以直接連續free兩次chunk不會有問題 另外注意,chunk fd指的是data 如果是glibc 2.28後加入了key會被寫成Tcache相關東西 流程1Chunk 1(malloc) free掉chunk 1 1Tcache -> Chunk 1 再free一次 1Tcache -> Chunk 1 -> Chunk 1 -> Chunk 1 -> ...