시스템 (42) 썸네일형 리스트형 collision 소스 코드 check_password를 디버깅 해보면 간단한 문제다.argv[1]로 입력한 문자를 dword(4byte)씩 잘라내 각 자릿수를 더한 최종 문자열이 0x21DD09EC가 되면 된다. hackerschool FTZ : level 11 풀이 디렉토리 확인 hint 여기서 setreuid는 다시 ruid, euid를 각각 원하는 대로 변경가능한 함수ruid : 프로세스 실제 소유자 euid: SetUID 권한이 설정된 실행 파일에 의해 변경된다. euid는 일시적으로 다른 계정의 uid 저장하고, euid에 저장된 uid에 따라 프로세스의 권한이 결정된다. 여튼 내용보니 strcpy를 이용해 bof 하면 될 것 같다. argv[1]에 넣을 쉘 코드 만들기 1. 쉘을 만들 간단한 C코드 2. 컴파일 후 objdump를 이용해 어셈코드 확인 main execve 여기서 중요한 어셈블리만 뽑아서위 메인함수의 execve(sh[0],sh,NULL); 에 필요한 최소한의 어셈코드를 작성 컴파일 후 확인 밑에 보면 이 쉘코드는 NULL이 포함된 쉘코드 .. 이전 1 ··· 3 4 5 6 다음