본문 바로가기

Penetration/WEB

[주요정보통신기반시설] 1. 버퍼 오버플로우

버퍼 오버플로우란 데이터의 길이에 대한 정의가 불명확하여 할당된 메모리 공간을 넘어서 다른 메모리까지 덮어쓰게 되는 것을 말합니다. 공격자는 다른 메모리를 덮어쓸 때 시스템 중단 및 시스템 제어를 갖기 위한 특별한 소스코드를 삽입할 수 있습니다.

 

시스템 해킹 영역에서 버퍼 오버플로우는 SFP 영역 및 Canary같은 보호영역을 넘어서 본격적인 RET(리턴) 주소를 찾아 그 부분에 실행 시키고 싶은 코드를 실행시켜서 exploit 하는 경우에 주로 사용되는 경우가 많습니다.(추후에 시스템 해킹 영역으로 다뤄보고 싶기 때문에 웹 점검에서는 간단히 다루겠습니다)

 

웹 홈페이지 점검시에는 입력을 허용하는 파라미터 및 입력폼에 비정상적으로 긴 값을 입력하여 웹 사이트(웹 어플리케이션)의 반응을 살펴보는 것으로 확인할 수 있습니다.

 

취약할 때: 비정상적으로 긴 입력할 때 에러 페이지 및 오류가 발생합니다.

양호할 때: 에러 페이지 및 오류페이지가 발생하지 않습니다.

해당 취약점은 파라미터 값을 외부에서 입력받을 때 입력값의 범위가 따로 없을 때 존재하며 이로인해서 정보 노출 및 프로그램에 대한 비인가 접근 및 사용이 발생할 수 있습니다.

 

대표적인 점검 방법으로는 입력포인트에 긴 문자열을 입력해보는 방법입니다.

해당 방법을 통해 서버의 동작에 대해서 점검할 수 있으며 Too Large Request와 같은 에러페이지도 확인할 수 있습니다.

(예시)

 

주요 정보통신기반 가이드의 내용은 아래와 같습니다.

이상입니다.