Code::Security/비박스(BWAPP)

비박스(bWAPP) A9 Buffer Overflow (Local)

태군 코드 2022. 10. 21. 17:12
반응형

이 도구를 이용하여 허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.

 

A9 - Buffer Overflow (Local)

 

버퍼 오버플로 오류는 의도적 또는 비의도적으로 수정되어서는 안 되는 프로세스의 메모리 조각을 덮어쓰는 것이 특징입니다. IP(Instruction Pointer), BP(Base Pointer) 및 기타 레지스터의 값을 덮어쓰면 예외, 분할 오류 및 기타 오류가 발생합니다. 일반적으로 이러한 오류는 예기치 않은 방식으로 응용 프로그램 실행을 종료합니다. 버퍼 오버플로 오류는 char 유형의 버퍼에서 작업할 때 발생합니다.

버퍼 오버플로는 스택 오버플로[스택 오버플로] 또는 힙 오버플로[힙 오버플로]로 구성될 수 있습니다. 이 문서에서는 혼동을 피하기 위해 이 두 가지를 구분하지 않습니다.

 

bof_1.php

 

bof_1.php 소스코드

bof_1.php 메인 페이지와 소스코드를 살펴보면 메인 페이지에서는 힌트를 제공하고 소스 코드에서는 shell_exe를 통하여 쉘 명령을 실행한다는 것을 알 수 있습니다.

 

먼저 해당 문제를 풀기 위해서는 컴파일, 디버깅을 통한 메모리 분석, 쉘코드 작성을 통한 공격코드 삽입이 이루어져야 하며 여기서는 BOF(Buffer Overflow)가 무엇이고 어떻게 공격이 이루어지는지 참고에 있는 OWSAP 문서를 통하여 확인해 보시기 바랍니다.

 

해당 BOF에 관한 문제는 추후 어떻게 컴파일이 이루어 지고 디버깅을 어떻게 하는지 유닉스, 윈도를 나눠서 다룰 예정이며 쉘 코드 작성 방법과 어떤 툴들을 사용하는지 다룰 예정입니다.

 

참고

https://owasp.org/www-community/attacks/Buffer_overflow_attack

https://owasp.org/www-project-web-security-testing-guide/v41/4-Web_Application_Security_Testing/07-Input_Validation_Testing/13.2-Testing_for_Stack_Overflow

https://owasp.org/www-community/vulnerabilities/Buffer_Overflow

반응형