[주요정보통신기반시설] 2. 포맷 스트링 - 이론편
2023. 8. 29.
이번엔 포맷 스트링에 대해서 알아보려고 합니다. 포맷 스트링은 일반적으로 C기반 프로그래밍에서 변수의 값을 출력하고나 입력받을 때 입력받은 값의 메모리 주소를 확인하고 이를 변조하여 exploit를 이용할 수 있는 취약점입니다. 이에 대한 일반적인 점검으로는 포맷스트링을 대입하여 입력에 대한 반응을 보이는지 아닌지를 통해서 취약여부를 판단할 수 있습니다. %d : 정수형 10진수 상수 %f : 실수형 상수 %lf : 실수형 상수 %c : 문자값 %s : 문자 스트링 %u : 양의 정수(10진수) %o : 양의 정수(8진수) %x : 양의 정수(16진수) %n : 쓰인 총 바이트 수 와 같은 포맷 스트링을 사용할 수 있습니다. 해당 포맷 스트링중 %n은 이전까지 입력되었던 문자열의 길이(Byte)수 만큼 ..