반응형
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 |