본문 바로가기

Wargame, CTF/protostar

format3

소스코드

target의 값을 0x01025544로 만들면 pass

 

format3 동작

 

target의 위치
AAAA의 위치

AAAA는 12번째

'AAAA'+target의 주소를 넣고 13번째에는 %n을 넣어 변조

 

target의 값이 68로 바뀜

이전 문제처럼 0x01025544를 바로 넣어도 되고

3부분으로 나누어서

01/0255/44 이렇게 넣어줘도됨

3부분으로 나누어 넣어줄 땐

 

밑줄친 부분 AAAA, BBBB, CCCC 다음이

01/ 0255/ 44 가 들어갈 주소임

target의 주소+1,2,4

이렇게 3부분으로 넣음

4부분으로 나누어서 넣는 것도 가능

 

44를 넣어주어야 하는데 이미 70임

데이터를 빼줄수는 없기 때문에

144가 되게함

0x144 - 0x70 = 212

212+8

144가 되어도 다음 255를 넣을때 

1이 255에 덮혀지기 때문에 상관 없음

 

14C가 들어있음

0x255 - 14C = 265

265 + 8

 

또 5d가 들어있으니

101 - 5d = 164

164 + 8

pass

'Wargame, CTF > protostar' 카테고리의 다른 글

heap0  (0) 2020.02.27
format4  (0) 2020.02.26
format2  (0) 2020.02.26
format1  (0) 2020.02.24
stack7  (0) 2019.08.26