ssp_001
·
Write-up/DreamHack
프로그램은 i386, 즉 32비트 아키텍처를 사용중이다. 문제는 카나리 값이 일치하는지 확인하는 SSP 방어 기법을 우회하여 익스플로잇 및 쉘 획득 후 flag값을 얻는 것이 목표이다. checksec으로 보안 적용 상태를 확인해보면 카나리 값이 적용되어있는 것을 확인할 수 있다. 값을 입력받는 read와 scanf가 여러개 있지만, read는 정의한 문자열의 크기 만큼만 읽는다. 반면 scanf는 문자열 크기에 대해 제한이 없으므로 공백 문자만 피하면 되겠다. 즉, case P를 공략할 것이다. name_len을 입력받고 name_len만큼 name에 읽어들이니 case E를 사용할 수도 있을 것 같다. get_shell() 함수가 존재하니 쉘코드는 만들지 않아도 될 것 같다. 해당 함수를 실행시키면..