카카오 블라인드 공채 플랫폼 취약점 분석 (2017)
Source
Evernote/Technote scraps/카카오 블라인드 공채 해킹하기.md
Summary
2017 년 카카오 블라인드 공채 코딩 테스트 플랫폼에서 발견된 보안 취약점을 다룬 문서입니다. Python 환경에서 os.system 및 os.popen 을 통한 쉘 명령어 실행이 제한되지 않아, 파일 시스템 접근 (ls, cat) 이 가능했습니다. 이를 통해 테스트 러너 소스 코드를 확인하고, 클래스 오버라이딩을 이용해 채점 결과를 조작하여 모든 문제를 정답 처리하거나, 외부 서비스 (Requestbin) 로 채점용 테스트 데이터를 추출하는 방법을 시연합니다. 저자는 이 방법이 실제 채용 최종 심사에서 걸릴 수 있으며, 당시 플랫폼이 외부 개발된 것일 가능성을 언급하며 주의사항을 덧붙였습니다.
Key Points
- 카카오 블라인드 공채 코딩 테스트 환경에서 Python 의
os모듈을 통한 쉘 명령어 실행이 가능함 - 파일 시스템 접근을 통해 테스트 러너 (
unittestrunner.py) 및 테스트 케이스 (solution_test.py) 소스 코드 확인 가능 - 테스트 러너 클래스를 오버라이딩하여 채점 로직을 우회하고 모든 문제를 정답 처리하는 코드 시연
- 외부 HTTP 요청 (Requestbin) 을 통해 채점용 테스트 데이터 (입출력 값) 를 추출하는 방법 시연
- 이러한 꼼수는 실제 채용 과정에서 감지될 수 있으며, 당시 플랫폼의 보안 설정이 느슨했음을 시사함