今天再來做一題 CTF 吧
今天同樣做 pwnable.tw 的題目,第二題 orw。
先確認一下檔案類型跟記憶體保護機制,
發現同樣是 x86 並且有開啟 Canary。
用 IDA 打開
我們可以看到他先執行一個叫 orw_seccomp 的函數,接著我們可以輸入一段 shellcode 讓他執行。
在 Linux kernel 中有個特性稱為 seccomp 模式,他是一種沙箱環境。在 seccomp 這種模式下的 peocess 使用的 system call 被做限制,只能使用 read()、write()、exit() 和 sigreturn(),避免 system call 的濫用造的安全疑慮。
而在這題中,點開 orw_seccomp
可以看到他使用了 prctl 去時做這個沙箱機制。prctl 是 Linux 的 system call ,用於設定 process 的資源限制、訊號處理方式等。
我們能透過 seccomp-tools 此工具確認那些 system call 並限制了。
可以發現能用的只有幾個,其中比較方便利用的為 open、read、write。
所以接下來我們只要想辦法構造一個不用調用 execve 或直接調用 system call 但能得知 flag 的 payload 就可以了
這部分我們明天再繼續~
終於進入正題了
「雖然是料理,但不是能吃的」
不知道動漫是哪一集
這是一道使用 ss 級稀有怪物「雜燴兔」身上的肉做的料理,普通人大概是沒有緣吃到的