์‰˜์ฝ”๋“œ ์ž‘์„ฑํ•ด๋ณด๊ธฐ (2)
ยท
Study/Pwnable
1.execve ์‰˜์ฝ”๋“œ์‰˜์€ ์šด์˜์ฒด์ œ๋ฅผ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ๊ป์งˆ์ด๋‹ค.์ฆ‰, ์‚ฌ์šฉ์ž๊ฐ€ ์šด์˜์ฒด์ œ์— ๋ช…๋ น์„ ๋‚ด๋ฆฌ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์‚ฌ์šฉ์ž์˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ,  ์‰˜์„ ํš๋“ํ•˜๋ฉด ์‹œ์Šคํ…œ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฏ€๋กœ ํ†ต์ƒ์ ์œผ๋กœ ์…ธ ํš๋“์„ ์‹œ์Šคํ…œ ํ•ดํ‚น์˜ ์„ฑ๊ณต์œผ๋กœ ์—ฌ๊ธฐ๋Š” ๊ฒƒ์ด๋‹ค. execve ์…ธ์ฝ”๋“œ๋Š” ์ž„์˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ์‰˜์ฝ”๋“œ์ธ๋ฐ, ์ด๋ฅผ ์ด์šฉํ•ด์„œ execve("/bin/sh") ์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰์‹œ์ผœ ์„œ๋ฒ„์˜ ์‰˜์„ ํš๋“ํ•  ์ˆ˜ ์žˆ๋‹ค.//๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ์–ธ๊ธ‰์—†์ด ์…ธ์ฝ”๋“œ๋ผ๊ณ  ํ•˜๋ฉด ์ด๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์ตœ์‹ ์˜ ๋ฆฌ๋ˆ…์Šค๋Š” ๋Œ€๋ถ€๋ถ„ sh, bash๋ฅผ ๊ธฐ๋ณธ ์…ธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ํƒ‘์žฌํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด ์™ธ์—๋„ zsh, tsh ๋“ฑ์˜ ์…ธ์„ ์œ ์ €๊ฐ€ ์„ค์น˜ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.  Ubuntu 22.04์—๋„ /bin/sh๊ฐ€ ์กด์žฌํ•˜๋ฏ€๋กœ, ์ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” execve..
์‰˜์ฝ”๋“œ ์ž‘์„ฑํ•ด๋ณด๊ธฐ (1)
ยท
Study/Pwnable
1. ์‰˜์ฝ”๋“œ๋ž€์‰˜์ฝ”๋“œ(Shellcode)๋Š” ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ(๊ธฐ๊ณ„์–ด) ์ฝ”๋“œ ์กฐ๊ฐ์„ ์˜๋ฏธํ•œ๋‹ค.pwnable์—์„œ๋Š” ์‰˜์„ ํš๋“ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‰˜์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉ๋œ๋‹ค. ๋งŒ์•ฝ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์œ„์น˜(rip)๋ฅผ ์ž์‹ ์ด ์ž‘์„ฑํ•œ ์‰˜์ฝ”๋“œ๋กœ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค๋ฉด ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ๊ธฐ๊ณ„์–ด์™€ ๊ฑฐ์˜ ์ผ๋Œ€์ผ ๋Œ€์‘๋˜๋ฏ€๋กœ ์‚ฌ์‹ค์ƒ ์›ํ•˜๋Š” ๋ชจ๋“  ๋ช…๋ น์„ CPU์— ๋‚ด๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์‰˜์ฝ”๋“œ๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ๊ตฌ์„ฑ๋˜๋ฏ€๋กœ ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•  ๋Œ€์ƒ ์•„ํ‚คํ…์ฒ˜์™€ ์šด์˜์ฒด์ œ์— ๋”ฐ๋ผ, ๊ทธ๋ฆฌ๊ณ  ์…ธ์ฝ”๋“œ์˜ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ž‘์„ฑ๋˜๋ฏ€๋กœ, ์ง์ ‘ ์ž‘์„ฑํ•  ์ค„ ์•Œ์•„์•ผ ํ•œ๋‹ค. 2. orw ์‰˜์ฝ”๋“œ ์ž‘์„ฑ “/tmp/flag”๊ฒฝ๋กœ์˜ ํŒŒ์ผ์„ readํ•˜๋Š” ์‰˜์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž์ด์ฒ˜๋Ÿผ ํŒŒ์ผ๊ณผ ๊ด€๋ จ๋œ ์‰˜์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ํ•„์š”ํ•œ syscall์€ open(), read(), writ..
pwntools ์„ค์น˜
ยท
Study/Pwnable
https://github.com/Gallopsled/pwntools GitHub - Gallopsled/pwntools: CTF framework and exploit development libraryCTF framework and exploit development library. Contribute to Gallopsled/pwntools development by creating an account on GitHub.github.com  pwntools๋Š” ํŒŒ์ด์ฌ์œผ๋กœ ์ต์Šคํ”Œ๋กœ์ž‡ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š” ํ•จ์ˆ˜๋“ค์„ ๋ชจ์•„๋‘” ๊ฒƒ์ด๋‹ค.(ex. ์ •์ˆ˜๋ฅผ ๋ฆฌํ‹€ ์—”๋””์–ธ์˜ ๋ฐ”์ดํŠธ ๋ฐฐ์—ด๋กœ ๋ฐ”๊พธ๋Š” ํŒจํ‚น ํ•จ์ˆ˜, ๊ทธ ์—ญ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์–ธํŒจํ‚น ํ•จ์ˆ˜ ๋“ฑ  ์„ค์น˜ ๋ฐฉ๋ฒ•์€ ๊นƒํ—ˆ๋ธŒ์— ๊ฐ€์ด๋“œ๋Œ€๋กœ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค. sudo ..
[Dreamhack] Level 2: youth-Case
ยท
CTF, War game
1. ๋ฌธ์ œ https://dreamhack.io/wargame/challenges/1402 youth-CaseDescription Bypass ๐Ÿ‘จ‍๐Ÿ’ปfilterdreamhack.io2. ํ•ด๊ฒฐ ๊ณผ์ • (1) ์ฝ”๋“œ ๋ถ„์„ ์ „์— ํ‘ผ baby-case ๋ฌธ์ œ์˜ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฒ„์ „์ด๋‹ค.2024.08.19 - [CTF, War game] - [Dreamhack] Level 1: baby-Case ์ฝ”๋“œ๋Š” ์ „์ฒด์ ์ธ ๊ธฐ๋Šฅ์€ ๋™์ผํ•˜๊ณ  , app.set('case sensitive routing', true) ์„ค์ •์„ ํ†ตํ•ด ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค. (๋Œ€์†Œ๋ฌธ์ž๋ฅผ ์ด์šฉํ•œ ์šฐํšŒ ๋ถˆ๊ฐ€๋Šฅ)๋˜ํ•œ ์š”์ฒญ์—์„œ leg์˜ ๊ฐ’์„ ๋ฐ›์•„์˜ฌ ๋•Œ ์†Œ๋ฌธ์ž๋กœ ๋ฐ˜ํ™˜ํ•˜์—ฌ ๋ฐ›์•„์˜ค๊ณ  ์ด ๊ฐ’์ด flag๋ผ๋ฉด access denied๋ฅผ ๋„์šด๋‹ค.words์—์„œ ๋ฌธ์ž์—ด..
gdb ์ •๋ฆฌ
ยท
Study/Pwnable
1. pwndbg ์„ค์น˜ (ubuntu 22.04) https://github.com/pwndbg/pwndbg GitHub - pwndbg/pwndbg: Exploit Development and Reverse Engineering with GDB Made EasyExploit Development and Reverse Engineering with GDB Made Easy - pwndbg/pwndbggithub.com 2. ๋””๋ฒ„๊น…(1) ํŒŒ์ผ ์ƒ์„ฑ// Name: debugee.c// Compile: gcc -o debugee debugee.c -no-pie#include int main(void) { int sum = 0; int val1 = 1; int val2 = 2; sum = val1 + v..
[Dreamhack] Level 1: baby-Case
ยท
CTF, War game
1. ๋ฌธ์ œhttps://dreamhack.io/wargame/challenges/1401 baby-CaseDescription Bypass ๐Ÿ‘ถfilterdreamhack.io 2. ํ•ด๊ฒฐ ๊ณผ์ •(1) ์ฝ”๋“œ ํ™•์ธ app.js์™€ ag.js ๋‘๊ฐ€์ง€ ํŒŒ์ผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋จผ์ € search() ํ•จ์ˆ˜์—์„œ๋Š” leg๊ฐ’์„ ๋ฐ›์•„์™€ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค words ๋ฐฐ์—ด์—์„œ ๋ณ€ํ™˜๋œ leg๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” name์„ ๊ฐ€์ง„ ๊ฐ์ฒด๋ฅผ ์ฐพ์•„ ๋ฆฌํ„ดํ•ด์ค€๋‹ค. /shop ๊ฒฝ๋กœ์—๋Š” post ์š”์ฒญ์„ ๋ฐ›์•„ body๊ฐ’์—์„œ leg ๊ฐ’์˜ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ค๊ณ  FLAG ๊ฐ’๊ณผ ๋น„๊ตํ•œ๋‹ค. leg์˜ ๊ฐ’์ด FLAG ์ธ ๊ฒฝ์šฐ, 403 + access deniedFLAG๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด searchํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ words ๋ฐฐ์—ด์—์„œ leg์™€ ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ์ฐพ์•„ ๋ฆฌํ„ดํ•œ๋‹ค. ์ด ๋ชจ๋“  ..
[wargame.kr] type confusion
ยท
CTF, War game
1. ๋ฌธ์ œ https://dreamhack.io/wargame/challenges/329 [wargame.kr] type confusionDescription Simple Compare Challenge. hint? you can see the title of this challenge. :Ddreamhack.io2. ํ•ด๊ฒฐ ๊ณผ์ •(1) ์ฝ”๋“œ ๋ถ„์„post ์š”์ฒญ์„ ํ†ตํ•ด json ๊ฐ์ฒด๋ฅผ ๋ฐ›์•„์™€์„œ decodeํ•ด์ค€๋‹ค. ์ด ๊ฒฐ๊ณผ๊ฐ€ post ์š”์ฒญ์‹œ ์‹คํ–‰๋˜๋Š” gen_key() ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜จ key๊ฐ’๊ณผ ์ผ์น˜ํ•  ๊ฒฝ์šฐ์—๋งŒ flag๋ฅผ ๋ฆฌํ„ดํ•ด์ค€๋‹ค. ์ด๋•Œ ๋น„๊ต์—ฐ์‚ฐ์—์„œ ==์œผ๋กœ ๋А์Šจํ•œ ๋น„๊ต๋ฅผ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 2024.06.20 - [Study/WebHacking] - [PHP] Type Juggling ์ทจ์•ฝ์ ..
[์›นํ•ดํ‚น] Dreamhack beginner: php7cmp4re
ยท
CTF, War game
1. ๋ฌธ์ œ https://dreamhack.io/wargame/challenges/1113 php7cmp4reDescription php 7.4๋กœ ์ž‘์„ฑ๋œ ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค. ์•Œ๋งž์€ Input ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ณ  ํ”Œ๋ž˜๊ทธ๋ฅผ ํš๋“ํ•˜์„ธ์š”. ํ”Œ๋ž˜๊ทธ ํ˜•์‹์€ DH{} ์ž…๋‹ˆ๋‹ค.dreamhack.io 2. ํ•ด๊ฒฐ ๊ณผ์ •๋ฌธ์ œ ํŽ˜์ด์ง€์— ์ ‘์†ํ•˜๋ฉด ๋‘๊ฐœ์˜ input๊ฐ’์„ ์ž…๋ ฅํ•˜๋Š” ์นธ์ด ๋œฌ๋‹ค. ์ด ๊ฐ’์— ๋”ฐ๋ผ try again ๋“ฑ์ด ๊ฒฐ๊ณผํ™”๋ฉด์œผ๋กœ ๋ณด์—ฌ์ง„๋‹ค. (1) ์ฝ”๋“œ ๋ถ„์„  php7cmp4re Index page "7.9"){ if(strlen..
[wargame.kr] Level 3: counting query
ยท
CTF, War game
1. ๋ฌธ์ œ https://dreamhack.io/wargame/challenges/342 [wargame.kr] counting queryDescription Error based SQLi Challengedreamhack.io 2.ํ•ด๊ฒฐ ๊ณผ์ •id๋Š” ip์ฃผ์†Œ์˜ ํ˜•์‹์œผ๋กœ ๋˜์–ด ์žˆ๊ณ  id๋Š” ์ž…๋ ฅ์ฐฝ์—์„œ๋Š” ๋”ฐ๋กœ ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํŒจ์Šค์›Œ๋“œ์— ์•„๋ฌด๋‚ด์šฉ์ด๋‚˜ ์ž…๋ ฅํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. (1) ์ฝ”๋“œ ๋ถ„์„ํ”Œ๋ž˜๊ทธ๋Š” ๋กœ๊ทธ์ธ์— ์„ฑ๊ณตํ•œ ๋’ค, ํŒจ์Šค์›Œ๋“œ๋ฅผ ํ•œ ๋ฒˆ ๋” ํ™•์ธํ•˜๊ณ  ์ถœ๋ ฅํ•ด์ค€๋‹ค. -> ๊ฒฐ๊ตญ ๋ฌธ์ œ๋Š” ๋กœ๊ทธ์ธ์— ์„ฑ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ •ํ™•ํ•œ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ= 4){ pw_change($id); count_init($id); err("SECURITY : bruteforcing detected - password is..
[Dreamhack] beginner: bof
ยท
CTF, War game
1. ๋ฌธ์ œhttps://dreamhack.io/wargame/challenges/1111 bofDescription Buffer overflow is one of the basics of pwnable ๐Ÿฑ The path of the flag file is /home/bof/flag.dreamhack.ioThe path of the flag file is /home/bof/flag.2. ํ’€์ด(1) ์ฝ”๋“œ ํ™•์ธmain(): ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„ read_cat()ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ์ž…๋ ฅ์„ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ์ด๋•Œ ./cat ์ด ์ €์žฅ๋˜๋Š” v5๋ณ€์ˆ˜๋Š” 16๋ฐ”์ดํŠธ์ด๊ณ , ์ž…๋ ฅ๊ฐ’์€ 128 ๋ฐ”์ดํŠธ์˜ ํฌ๊ธฐ์ด๋‹ค. ์ฆ‰,  v4์˜ ํฌ๊ธฐ๊ฐ€ 128๋ฐ”์ดํŠธ์ธ๋ฐ, scanf๋กœ ์ตœ๋Œ€ 144๋ฐ”์ดํŠธ๋ฅผ ์ฝ์–ด๋“ค์ด๋ฏ€๋กœ, bof๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ..
mnzy๐ŸŒฑ
mnzy๐ŸŒฑ
-->