목록Pwnable (3)
쉽고 깔끔하게
문제 http://pwnable.kr/play.php 아빠가 오늘 멋진 MD5 해시 충돌에 대해 말씀해주셨어요. 저도 그런 거 하고 싶어요! 문제를 해결하기에 앞서, • 해시함수 (Hash Function) : 임의의 길이를 갖는 메시지를 입력으로 하여 고정된 길이의 해시값 또는 해시 코드라 불리는 값을 출력하는 일방향 함수 → 메시지가 다르면 해시값도 다르다는 특징을 가지고 있음 • 해시 충돌 (Hash Collision) : 2개의 다른 메시지가 같은 해시값을 갖는 것 → 해시함수가 유한한 가짓수의 출력값을 생성하는 경우 해시 충돌이 발생함 터미널을 이용하여 ssh col@pwnable.kr -p2222에 접속합니다. (password : guest) ls -l 명령어를 통해 현재 디렉터리에 존재하는..
문제 http://pwnable.kr/play.php 엄마! 리눅스에서 file descriptor가 무엇인가요? 터미널을 이용하여 ssh fd@pwnable.kr -p2222에 접속합니다. (password : guest) ls -l 명령어를 통해 현재 디렉터리에 존재하는 파일들의 정보를 확인합니다. [ fd ] 파일의 속성은 -r-sr-x---로 SetUID가 설정되어 있으며 실행 시 파일 소유자(fd_pwn)의 권한으로 실행됩니다. [ fd.c ] 파일은 유일하게 아무 곳에도 속하지 못한 제 3자(other)가 파일을 읽을 수 있는 권한(-rw-r--r--)을 가지고 있습니다. [ flag ] 파일은 파일 소유자인 fd_pwn나 root만이 해당 파일을 읽을 수 있습니다. ▶︎ 따라서 SetUID가..
ID : level1Password : level1 hint 파일의 내용을 출력했을 때 문자가 깨져있는 것을 볼 수 있다. Xshell에 기본적으로 설정되어 있던 언어 설정에 들어가 'Korean(EUC)'로 변경해준다. SET-UID가 걸린 level2 권한을 가진 파일을 찾으면 문제를 해결할 수 있다. # SET-UID SET-UID가 설정된 파일을 실행하면 소유자가 아니더라도 일시적으로 소유자의 권한으로 실행된다. 원하는 조건의 파일이나 디렉터리를 검색할 수 있는 명령어 find를 사용하여 찾고자 하는 SET-UID가 걸린 level2의 권한을 갖는 파일을 찾기 위해 -perm 옵션과 -user 옵션을 사용했다. (여기서 / 는 '현재 디렉터리부터 찾는다'는 의미이다.) 하지만 결..