반응형
SMALL

이번엔 간단한 BOF실습이다. 인터넷에 돌아다니다 보면 코드가 많이 떠다닌다. 일단 C언어로 BOF를 작성했다.






버퍼에 100개이상이 채워지면 오버플로우가 발생하게 되는 코드이다. 이 코드를 실행시켜 준다.



그리고 cmd창을 띄워서 실행시켜보면 A가 100개가 정확히 들어갔을 때는 오류메시지가 나오지 않지만 그 이상을 넘어갔을시엔 사진과 같은 오류가 발생했다. 현재 DDDD까지 채워져 스택프레임이 초과된 상태이다. 그리고 Debug를 눌러보면 올리디버거로 연결이 된다.



이런식으로 올리디버거 결과값을 보면 레지스터 값에 EIP값이 전부 DDDD로 덮였음을 볼 수 있다. 현재 이 스택프레임은 DDDD로 전부 덮여버린 상황이다. 4444444는 DDDD를 의미하며 아스키코드로 D는 44이다. 이렇게 버퍼오버플로우가 발생하게 되면 RET취약점이 바로 발생할 수 있기 때문에 strcpy와 같은 C언어 코드는 되도록이면 피하는 것이 좋다.

반응형
LIST

'악성코드분석' 카테고리의 다른 글

리버싱 기초 (1)  (0) 2021.01.10
UPX 자동 언패킹  (0) 2021.01.05
MP3 컨버터를 이용한 Exploit  (0) 2018.01.21
ollydbg와 mona를 이용한 BOF 실습  (0) 2018.01.21
stack과 BOF 개념  (0) 2018.01.21
블로그 이미지

만년필석사

,