모두CBT

다음은 포맷스트링의 종류를 설명하고 있다. 형식에 대한 매개변수는?매개… | [정보보안기사 필기] 23년 1회차 기출문제 상세 페이지

1[정보보안기사 필기] 23년 1회차

다음은 포맷스트링의 종류를 설명하고 있다. 형식에 대한 매개변수는?

매개변수형식
%d정수형 10진수 상수(integer)
( ㉠ )문자스트링
( ㉡ )16진수 양의 정수
( ㉢ )%n의 반인 2바이트 단위
1
㉠ : %s, ㉡ : %o, ㉢ : %lf
2
㉠ : %s, ㉡ : %x, ㉢ : %hn
3
㉠ : %c, ㉡ : %o, ㉢ : %lf
4
㉠ : %c, ㉡ : %x, ㉢ : %hn
해설

㉠은 %s, ㉡은 %x, ㉢은 %hn이다.

표에서 ㉠의 형식은 "문자스트링"이므로 문자열 포인터를 받아 출력하는 %s가 들어간다. ㉡은 "16진수 양의 정수"이므로 부호 없는 값을 16진수로 출력하는 %x이다.

㉢은 "%n의 반인 2바이트 단위"라고 했다. %n은 그때까지 출력된 바이트 수를 4바이트 정수 단위로 메모리에 써 넣는데, short를 뜻하는 h를 붙인 %hn은 절반인 2바이트 단위로 기록한다. 포맷스트링 공격에서 주소를 상·하위로 쪼개 덮어쓸 때 쓰이는 지시자다.

%c는 문자 하나, %o는 8진수, %lf는 double 실수를 출력하므로 표의 설명과 맞지 않는다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.