Wargame/CTF(Capture The Flag)

LOB goblin

๐“›๐“พ๐“ฌ๐“ฎ๐“ฝ๐“ฎ_๐“ข๐“ฝ๐“ฎ๐“ต๐“ต๐“ช 2015. 9. 15.
728x90
๋ฐ˜์‘ํ˜•


์ ‘์†์„ ํ•˜๊ณ  (cp ๊ฐ™์€ ๊ฒƒ์€ ๋ฌด์‹œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค) ์†Œ์Šค๋ฅผ ํ™•์ธ ํ•˜๋ฉด

์ด๋ฒˆ์— ๋˜ํ•œ buffer๊ฐ€ 16์ธ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜์žˆ๋‹ค.

๋จผ์ € vi ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ GOGO!!


์œ„์™€๊ฐ™์ด

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[]){

long shell;

shell = system ์ฃผ์†Œ๊ฐ’;

๋‚˜๋จธ์ง€๋Š” ๋™์ผ ํ•˜๊ฒŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๊ณ  gcc๋ฅผ ์ด์šฉํ•ด ์ปดํŒŒ์ผ์„ ํ•œ๋‹ค.


์ด์ œ system ์ฃผ์†Œ๊ฐ’์„ ๋ณด๊ธฐ์œ„ํ•ด gdb๋ฅผ ์ด์šฉํ•ด ๋“ค์–ด๊ฐ„ํ›„

b main๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฉ”์ธ์— ๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํŠธ๋ฅผ ๊ฑด๋‹ค.

๊ทธํ›„ p system์ด๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ system ์ฃผ์†Œ๊ฐ’์„ ํ™•์ธํ•œ๋‹ค.(ํ”„๋กœ๊ทธ๋ž˜๋ฐํ• ๋•Œ ์ž…๋ ฅํ•ด์•ผํ•จ)


์ด์ œ payload๋ฅผ ์งœ๋ณด๋ฉด (python -c 'print "\x90"*20+"AAAAA(ebp+8 ๋•Œ๋ฌธ์— ์ž…๋ ฅ(exit๊ฐ’์„ ๋„ฃ์–ด๋„ ๋จ))+"์ฃผ์†Œ๊ฐ’"';cat;)|./goblin ์ด๋ ‡๊ฒŒ ๋œ๋‹ค.



728x90
๋ฐ˜์‘ํ˜•

'Wargame > CTF(Capture The Flag)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

LOB wolfman  (0) 2015.09.15
LOB orc  (0) 2015.09.15
LOB gremlin  (0) 2015.09.14
LOB gate  (0) 2015.09.14
Challenge 36 - Back Up  (0) 2015.09.05

๋Œ“๊ธ€