iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 29
0
Security

CTF30系列 第 29

CTF 18: Important Service (Pwn, Kindergarten PWN)

簡介

這題目是一題典型 Pwn。

Thats still kindergarten stuff. Flag in /opt.
nc kindergarten.uni.hctf.fun 13373
48800cb1ffbd78f067d68425baa25d88.tar.xz 

連 flag 位置都給你了,溫馨。所以我們這題目標應該就是 RCE。

Arch:     amd64-64-little
RELRO:    Partial RELRO
Stack:    Canary found
NX:       NX enabled
PIE:      PIE enabled

不過這個有開 NX/PIE/Canary。東西的位置不是固定的,然後 Stack 不能執行。

執行這程式會看到這種奇怪輸出:

[es@es-l importantservice]$ ./importantservice
Please enter width and height e.g.: 5 8
5 8
Please provide some data e.g.: 12345
11111
88888
77777
66666
55555
44444
33333
22222
11111
[es@es-l importantservice]$ ./importantservice
Please enter width and height e.g.: 5 8
9 9
Please provide some data e.g.: 12345
999999999999999
AAAAAAAAA
@@@@@@@@@
?????????
>>>>>>>>>
=========
<<<<<<<<<
;;;;;;;;;
:::::::::
999999999

這程式看起來會先要求一個寬和高,然後讀另一個數值,然後用它去呼叫 dologic()
dologic 似乎也有規則。例如說輸入寬 5,高 8,則產出的數字會是 8 行 5 寬。
main 中是有檢查長度是否會使輸出大於 0x400byte,但我們可以輸入 0。

但我們無法 leak 地址,也沒辦法執行 stack。這是比較麻煩的。我們下集會研究看看怎麼處理。


上一篇
CTF 17: Old School SQL (Web, BSides Delhi CTF 2018)
下一篇
CTF 18: Important Service (Pwn, Kindergarten PWN)
系列文
CTF3030

尚未有邦友留言

立即登入留言