분류 전체보기 3

리눅스 FTZ ssh 접속

그냥 level1에 접속하려고 하면 이렇게 "Unable to negotiate with ~ port 22: no matching cipher found."라고 뜬다. 서버와 클라이언트 간의 암호화 방식이 달라서 오류가 나는건데, 이럴 땐 -c(cipher_spec) 옵션으로 암호화 방식을 밑에 나열한 "aes128-cbc, 3des-cbc, ..." 등등의 방식으로 설정해주면 된다. 잘 접속이 된다. 하지만 여기서 문제가 끝나지 않는다. 시작하기 위해 cat으로 hint를 출력하면 한글이 깨져서 나온다. Windows에서 접속할 땐 PuTTY로 접속하여 translation 옵션을 Use Font Encoding으로 설정하면 한글이 깨지지 않고 나올 수 있지만, 리눅스에서는 PuTTY를 사용할 수 없기..

suckless2 writeup

바로 실행 일단 뭐하는 프로그램인지 확인하기 위해 help를 쳐봅시다. 콘솔형 메모장인가 봅니다. 취약점을 찾아내기 위해 탐색을 해봅시다. gdb로 디버깅을 하면서 동작과정을 살펴보겠습니다. 'hello'가 저장된 0x00007ffff7700030부터 256byte만큼 값들을 보면 이렇게 돼있습니다. 각 주소마다 16이 더해진 다음 주소를 값에 기본적으로 담고 있다는 걸 확인할 수 있습니다. 그렇다면 기본적으로 담고 있는 저 포인터 값을 변조한다면 다음 new를 통한 노트 저장을 할 때 변조된 포인터에 값이 담아지게 될 것 같다는 생각이 들었습니다. 첫 노트에서 'A(dummy)' 16바이트와 아스키 16진수 값이 70인 'p'를 입력해서('AAAAAAAAAAAAAAAAp') 0x7ffff7700040의..

writeup in kr 2021.04.02