๐ก๏ธCTF/DreamHack
Curlove
Curlove
2025.03.23Descriptioncurl ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ ์์คํ
์
๋๋ค./flag ์๋ํฌ์ธํธ๋ก ์์ฒญํ์ฌ ํ๋๊ทธ๋ฅผ ์ป์ด์ฃผ์ธ์.Attackadmin์ผ๋ก ๋ก๊ทธ์ธํ์ฌ /flag๋ก ์์ฒญํ์ฌ FLAG๋ฅผ ํ๋ํด์ผํ๋ค./flag ํ์ด์ง๋ localhost์์ ํธ์ถ์์๋ง FLAG๋ฅผ ๋ฐํํ๋ค.@app.route("/flag", methods=["GET"])def flag(): ip_address = request.remote_addr if ip_address == "127.0.0.1": return FLAG else: return "Only local access allowed", 403@app.route("/signup", methods=["GET", "POST"])def signup(..
Switching Commnad
Switching Commnad
2024.01.070. Description Not Friendly serviceโฆ Can you switching the command? 1. Analysis ํ์ด์ง์ ์ ์ํ๋ฉด Username์ ์
๋ ฅํ ์ ์๋ ํ๋ฉด์ด ๋ณด์ธ๋ค. ๋ค์ด๋ก๋ ๋ฐ์ ์ฝ๋๋ฅผ ํ์ธํด๋ณด๋ฉด ์ฌ์ฉ์ ์
๋ ฅ๊ฐ์ ๋ํด json_decode()๋ฅผ ํตํด json ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ๋ค. Username์ด admin์ผ ๊ฒฝ์ฐ Admin Session์ ๊ฐ์ง๊ณ test.php๋ก ์ด๋ํ๋ค. #index.php if ($_SERVER["REQUEST_METHOD"]=="POST"){ $data = json_decode($_POST["username"]); if ($data === null) { exit("Failed to parse JSON data"); } $username..
Secure Mail
Secure Mail
2024.01.031. Description ์ค์ํ ์ ๋ณด๊ฐ ์ ํ์๋ ๋ณด์ ๋ฉ์ผ์ ๋ฐ๊ฒฌํ์์ต๋๋ค. ๋ณด์ ๋ฉ์ผ์ ๋น๋ฐ๋ฒํธ๋ ์๋
์์ผ 6์๋ฆฌ์ธ ๊ฒ์ผ๋ก ํ์
๋๋, ์ ํฌ๋ ๋น๋ฐ๋ฒํธ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์ต๋๋ค. ๋น๋ฐ๋ฒํธ๋ฅผ ์์๋ด๊ณ ๋ณด์ ๋ฉ์ผ์ ์ฝ์ด ์ค์ํ ์ ๋ณด๋ฅผ ์์๋ด์ฃผ์ธ์! 2. Analysis & Attack ์ ๋ต์ด ์๋
์์ผ ๋ฒ์๋ก ํ์ ๋์ด Bruteforce ์งํํ๋ค. ๊ฐ๋ฐ์ ๋๊ตฌ์์ ์คํํ๋ฉด data:image/png;base64 ๋ก ์์ํ๋ ๋ฌธ์์ด์ด ๋์ค๋๋ฐ ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ ์
๋ ฅํ๋ฉด ํ๋๊ทธ์ ์ฌ์ง์ด ๋์จ๋ค. #!ex.js var yy = "90"; var mm = "01"; var dd = "01"; while(true){ dd = String(Number(dd) + 1); if(dd=="32"){ dd="01"; mm..
Shell_Basic
Shell_Basic
2023.10.08์
๋ ฅํ ์
ธ์ฝ๋๋ฅผ ์คํํ๋ ํ๋ก๊ทธ๋จ์ด ์๋น์ค๋ก ๋ฑ๋ก๋์ด ์๋ํ๊ณ ์์ต๋๋ค. main ํจ์๊ฐ ์๋ ๋ค๋ฅธ ํจ์๋ค์ execve, execveat ์์คํ
์ฝ์ ์ฌ์ฉํ์ง ๋ชปํ๋๋ก ํ๋ฉฐ, ํ์ด์ ๊ด๋ จ์ด ์๋ ํจ์์
๋๋ค. flag ํ์ผ์ ์์น์ ์ด๋ฆ์ /home/shell_basic/flag_name_is_loooooong์
๋๋ค. ๊ฐ ์ก๊ธฐ ์ด๋ ค์ฐ์ ๋ถ๋ค์ ์๋ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ๋จผ์ ์ฐ์ตํด๋ณด์ธ์! ํ๋๊ทธ ํ์์ DH{...} ์
๋๋ค. DH{ ์ }๋ ๋ชจ๋ ํฌํจํ์ฌ ์ธ์ฆํด์ผ ํฉ๋๋ค. ํ๋ก๊ทธ๋จ ๋ถ์ ๋ฌธ์ ์์ ์ ์๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด Shellcode๋ฅผ ์
๋ ฅ๋ฐ๋๋ค. ํฌํจ๋์ด์๋ ์์ค๋ฅผ ๋ณด๋ฉด ์์ฝ๋๋ฅผ ๋ฐ์์ ์คํ์ ํด์ค๋ค. // Compile: gcc -o shell_basic shell_basic.c -lseccomp //..
rev-basic-4
rev-basic-4
2023.09.28์ด ๋ฌธ์ ๋ ์ฌ์ฉ์์๊ฒ ๋ฌธ์์ด ์
๋ ฅ์ ๋ฐ์ ์ ํด์ง ๋ฐฉ๋ฒ์ผ๋ก ์
๋ ฅ๊ฐ์ ๊ฒ์ฆํ์ฌ correct ๋๋ wrong์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ด ์ฃผ์ด์ง๋๋ค. ํด๋น ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ถ์ํ์ฌ correct๋ฅผ ์ถ๋ ฅํ๋ ์
๋ ฅ๊ฐ์ ์์๋ด์ธ์. 1. ํ๋ก๊ทธ๋จ ๋ถ์ ์ฃผ์ด์ง ํ๋ก๊ทธ๋จ์ IDA๋ฅผ ํตํด ๋ถ์์ ์งํํด๋ณด๋ฉด ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ํ์ธํ ์ ์๋ค. int __fastcall main(int argc, const char **argv, const char **envp) { char v4[256]; // [rsp+20h] [rbp-118h] BYREF memset(v4, 0, sizeof(v4)); sub_1400011C0("Input : ", argv, envp); sub_140001220("%256s", v4); if ( (unsign..
rev-basic-3
rev-basic-3
2023.09.19์ด ๋ฌธ์ ๋ ์ฌ์ฉ์์๊ฒ ๋ฌธ์์ด ์
๋ ฅ์ ๋ฐ์ ์ ํด์ง ๋ฐฉ๋ฒ์ผ๋ก ์
๋ ฅ๊ฐ์ ๊ฒ์ฆํ์ฌ correct ๋๋ wrong์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ด ์ฃผ์ด์ง๋๋ค. ํด๋น ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ถ์ํ์ฌ correct๋ฅผ ์ถ๋ ฅํ๋ ์
๋ ฅ๊ฐ์ ์ฐพ์ผ์ธ์! 1. ํ๋ก๊ทธ๋จ ๋ถ์ ํ๋ก๊ทธ๋จ์ IDA ํตํด ๋ถ์์ ์งํํด๋ณด๋ฉด ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ํ์ธํ ์ ์๋ค. int __fastcall main(int argc, const char **argv, const char **envp) { char v4[256]; // [rsp+20h] [rbp-118h] BYREF memset(v4, 0, sizeof(v4)); sub_1400011B0("Input : ", argv, envp); sub_140001210("%256s", v4); if ( (unsigned int..
[BOB CTF 8th] - FileStroage
[BOB CTF 8th] - FileStroage
2022.09.130. Description ํ์ผ์ ๊ด๋ฆฌํ ์ ์๋ ๊ตฌํ์ด ๋ ๋ ํํ์ด์ง์
๋๋ค. 1. ํ์ด์ง ๊ตฌ์ฑ 1. GET / read๊ฐ์ฒด์ filename property์ fake๋ผ๋ ์คํธ๋ง์ ๋ฃ๊ณ ๋ฐํ 2. POST /mkfile ํ์ผ ์์ฑ ๊ธฐ๋ฅ, filename๊ณผ content๋ฅผ ์
๋ ฅ๋ฐ์ __dirname/storage/ ๊ฒฝ๋ก์ filename ๊ฐ์ ํด์ฌํ์ฌ ํด์ฌ ์ด๋ฆ์ผ๋ก ํ์ผ์ ์์ฑํ ํ์ผ ์ด๋ฆ์ ๋ฐํํ๋ค. 3. GET /readfile filename ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ์ ๊ฒฝ์ฐ __dirname/storage/ ๊ฒฝ๋ก์์ filename ์ด๋ฆ์ ํ์ผ์ ์ฝ๋๋ค. filename ํ๋ผ๋ฏธํฐ๊ฐ ์์ ๊ฒฝ์ฐ read ์ค๋ธ์ ํธ์ filename Property๋ฅผ ๊ฐ์ ธ์จ๋ค. 4. GET /test func, filename, ..
[BOB CTF 8th] - Summer Fan
[BOB CTF 8th] - Summer Fan
2022.09.13๋ฌธ์ ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์ผ๋ฉด Summer_Fan.apk ํ์ผ์ด ์กด์ฌํ๋ค. ํด๋น ์ฑ์ ์ค์นํ๊ณ ์คํํด๋ณด๋ฉด ์๋ ์ฒ๋ผ ์ ํ๊ธฐ๋ฅผ ๋๋ฆฌ๊ณ ํ๋๊ทธ๋ฅผ ์ป์ ์ ์๋ ์ฑ์ด ์คํ๋๋ค. adb install Summer_Fan.apk GET FLAG! ๋ฒํผ์ ํด๋ฆญํ๊ฒ ๋๋ฉด ์๋ ํ๋ฉด์ฒ๋ผ ๋์จ๋ค. jadx๋ฅผ ํตํด apk ํ์ผ์ ์์ค์ฝ๋๋ฅผ ๋ณด๋ฉด MainActivity์ ๋ค์ํ ํจ์๋ค์ด ์กด์ฌํ๋ค. ๊ทธ ์ค Start ๋ฒํผ์ ๋๋ฅด๋ฉด ์คํ๋๋ startTimer(), Get Flag ๋ฒํผ์ ๋๋ ค๋ฉด ์คํ๋๋ checkTime(), Flag๋ฅผ ์์ฑํ๋ generateFlag() ํจ์๊ฐ ์๋ค. private final void checkTime(Intent intent) { Toast.makeText(this, (((int) inten..
Apache htaccess
Apache htaccess
2022.07.28apache htaccess ์ค์ ๊ด๋ จ ์ทจ์ฝ์ ๋ฌธ์ ์ด๋ค. ๋ฉ์ธ ํ์ด์ง์๋ ์๋ ์ฒ๋ผ ํ์ผ์ ์
๋ก๋ ํ ์ ์๋ ๊ธฐ๋ฅ์ด์๋ค. ์์ค์ฝ๋์์๋ php ๊ด๋ จ ํ์ฅ์๋ค์ ์ ํํ๊ณ ์๋ค.
read_flag
read_flag
2022.01.23์ด ๊ธ์ ๋ณดํธ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ณด๋ ค๋ฉด ์ํธ๊ฐ ํ์ํฉ๋๋ค.
crawling
crawling
2022.01.23์ด ๊ธ์ ๋ณดํธ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ณด๋ ค๋ฉด ์ํธ๊ฐ ํ์ํฉ๋๋ค.