python3-print
date
Apr 28, 2023
slug
python3-print
status
Published
tags
Pwnable
summary
type
Post
python3์์ ์ฌ์ฉํ์ฌ ์
๋ ฅ ๊ฐ์ ๋ฃ์ผ๋ ค๊ณ ํ๋๋ฐ ์๊ฐํ๋ ๊ฒฐ๊ณผ์ ๋ค๋ฅธ ๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋์๋ค.
์์ธ์ ์์๋ณด๊ธฐ ์ํด xxd ๋ช
๋ น์ด๋ก ํ์ธํด๋ดค๋๋ ๊ฐ์ด ๋ค๋ฅด๊ฒ ๋จ๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
๋ง์ง๋ง์ ๋จ๋
0x0a
๋ ๊ฐํ(LF)์ ์๋ฏธํ๋ค.์ฒซ ๋ฒ์งธ ๊ฒฐ๊ณผ
python3์ ascii์์ unicode๋ก ๋ฐ๋๋ฉด์
b"A"
์ฒ๋ผ b
๋ฅผ ์ฌ์ฉํด์ผ ํ๋๋ฐ ์ฒซ ๋ฒ์งธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด A๊ฐ 24๊ฐ์ด๋ฏ๋ก *24
๋ ์ ์์ ์ผ๋ก ๋์ํ๋ค.ํ์ง๋ง
\x96\x11\x40\x00
, b'
๋ฌธ์ ์์ฒด๊ฐ ascii ์ฝ๋๋ก ์ถ๋ ฅ๋จ์ ํ์ธํ ์ ์์๋ค.gdb๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์ ๋ง ๊ทธ๋ ๊ฒ ๋จ๋์ง๋ ํ์ธํ์๋ค.
๋ ๋ฒ์งธ ๊ฒฐ๊ณผ
๋๋ฒ์งธ๋
0x41
ascii ๊ฐ์ด ์ ์์ ์ผ๋ก ๋ค์ด๊ฐ์ง๋ง ๊ทธ ์ดํ์ 0xc2
๋ผ๋ ์๋ฌธ์ ๋ชจ๋ฅด๋ ๊ฐ์ด ๋ค์ด๊ฐ๊ณ ๊ทธ ์ดํ์ \x96\x11\x40\x00
์ด ์ถ๊ฐ๋์๋ค.์ถ์ฒ: Tips for the challenges
0x80
๋ณด๋ค ํฐ ๊ฐ์ด ๋ค์ด์ค๋ฉด 0xc2
๋ผ๋ ๊ฐ์ด ์ถ๊ฐ๋๋ค๋ ๊ฒ์ด๋ค. ํ
์คํธ๋ฅผ ํด๋ณด๋ ๊ทธ๋ ๊ฒ ๋์ํ๋ค..๋ง์ง๋ง ๊ฒฐ๊ณผ
๋ง์ง๋ง์ ์ด์ ์ ์ฐธ๊ณ ํ ๊ธ์ฒ๋ผ
std.stdout.buffer.write
๋ฅผ ์ฌ์ฉํ ๊ฒฐ๊ณผ ๊น๋ํ๊ฒ ๊ฐ์ด ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.python2๋ 2๊ฐ์ง ๋ฐฉ๋ฒ ๋ชจ๋ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์๋ค.
๋ง์ง๋ง์ผ๋ก
;cat
์ ์ฌ์ฉํ์ฌ ํ์ดํ๋ผ์ธ์ ๋๊ฒจ์ฃผ๋ฉด ๋๊ฒ ๋ค.