Format String 특정 메모리값 변조
시스템해킹2023. 11. 26. 14:52Format String 특정 메모리값 변조

포맷 스트링 공격은 데이터의 형태와 길이에 대한 불명확한 정의로 인한 문제점 중 '데이터 형태에 대한 불명확한 정의'로 인한 것으로, 포맷 스트링을 이용하여 버퍼 오버플로우와 같이 메모리에 셸을 띄워 놓고, ret 값을 변조하여 관리자 권한을 획득하는 것이다. 결국 포맷 스트링과 버퍼 오버플로우는 함수 실행시 ret 값을 변조하는 방법만 다를 뿐 기본 개념은 같다고 볼 수 있다. 포맷 스트링 공격은 데이터 형태나 길이가 명확하게 정의되어있지 않아서 생기는 문제점이다. 예를 들어 char *buffer = "wishfree\n%x\n"; print(buffer) 라고 한다면 wishfree가 저장된 이후 메모리에 존재하는 값까지 나타내어지게 된다. 즉, esp가 위치한 메모리 값을 읽어드린다. 이러한 포맷..

image