[pwnable.xyz] Free spirit trick ์†Œ๊ฐœ
Wargame/pwnable.xyz

[pwnable.xyz] Free spirit trick ์†Œ๊ฐœ

๐Ÿงก Free spirit trick ์†Œ๊ฐœ

Free spirit์„ ํ’€๋‹ค๊ฐ€ xmm0 ๋ ˆ์ง€์Šคํ„ฐ ๊ด€๋ จ ์žฌ๋ฏธ์žˆ๋Š” ๊ธฐ๋ฒ•์„ ์•Œ๊ฒŒ ๋œ ๊ฒƒ ๊ฐ™์•„์„œ ์†Œ๊ฐœ๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. 

 

๐Ÿงก Floating-point instructions

๋จผ์ € xmm ์ข…๋ฅ˜ ๋ ˆ์ง€์Šคํ„ฐ๋Š” SIMD ์—ฐ์‚ฐ์„ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ ์ด๋‹ค. SSE Instruction์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค.

 

์—ฌ๊ธฐ์„œ ๋ฌธ์ œ ์‚ฌ์šฉ๋˜๋Š” Instruction์€ movdqu์ด๋‹ค. movdqu๋Š”

Move Unaligned Double Quadword

์ธ๋ฐ Floating-Point ์—ฐ์‚ฐ์‹œ ์‚ฌ์šฉ๋˜๋Š” ์–ด์…ˆ์ด๋‹ค. ์ด instruction์˜ ํŠน์ง•์„ ์‚ดํŽด๋ณด์ž.

 

๐Ÿงก xmm register 

์‚ฌ์‹ค ํŠธ๋ฆญ ์ž์ฒด๋Š” ๊ฐ„๋‹จํ•˜๋‹ค.

์ด๋ ‡๊ฒŒ [rsp+0x10] ์œ„์น˜์— 'A' 8๊ฐœ, 'B' 8๊ฐœ๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค. ํ˜„์žฌ ์Šคํƒ ์ƒํƒœ์—์„œ ๋‹ค์Œ ์–ด์…ˆ์„ ์ ์šฉ์‹œ์ผœ๋ณด์ž.

mov rax, QWORD PTR [rsp+0x10]

ํ˜„์žฌ RAX์—๋Š” ๋ฌธ์ž์—ด์ด ๋“ค์–ด์žˆ๋Š” ํž™ ๊ณต๊ฐ„์ด ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค. ๋‹ค์Œ ์–ด์…ˆ์„ ์ ์šฉ์‹œ์ผœ๋ณด์ž.

movdqu xmm0, XMMWORD PTR [rax]

before
after

์ด๋Ÿฐ ์‹์œผ๋กœ xmm0 ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ์„ค์ •๋˜์—ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด ์ƒํƒœ์—์„œ ๋‹ค์Œ ์–ด์…ˆ์„ ์ ์šฉ์‹œํ‚ค๋ฉด ์–ด๋–จ๊นŒ?

movdqu XMMWORD PTR [rsp+0x8], xmm0

[rsp+0x8]์—๋Š” ์ž…๋ ฅํ–ˆ๋˜ ๋ฌธ์ž์—ด์ด, [rsp+0x10]์—๋Š” ๋’ค 8byte๊ฐ€ ๋“ค์–ด๊ฐ”๋‹ค. xmm0 ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ํ’€์–ด๋ดค๋Š”๋ฐ ๋‚˜์ค‘์— CTF ๋ฌธ์ œ๋ฅผ ๋‚ผ ๋•Œ๋„ ์žฌ๋ฏธ์žˆ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

'Wargame > pwnable.xyz' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[pwnable.xyz] fishing - thread  (0) 2021.07.12
[pwnable.xyz] Heap - House of Force ๋ณต์Šต (note v3)  (2) 2021.07.09
[pwnable.xyz] executioner v2 ์‚ฝ์งˆ  (2) 2021.07.03
[pwnable.xyz] executioner trick(?)  (2) 2021.07.01
[pwnable.xyz] ๋ชฉํ‘œ  (0) 2021.06.25