22.fsb [ pwnable.kr ]

22번째 문제 fsb입니다! 좋아요! 제가 rookiss 문제를 풀 수 있다는 것에 감격스러우면서도 뿌듯합니다.제가 자주 사용했던 Format String Bug를 이용한 문제부터 시작하면 쉽게 풀 수 있을 거라고 생각했고, 이 문제에서 얻을 수 있는 교훈은 따로 있었습니다.소스코드의 이유는 모르겠지만 fd를 랜덤으로 뽑아서 그것을 read하는데 사용하면 그 값이 해당 버퍼에 들어간다는 것을 얼마 전부터 알았습니다.이번 메인 함수도 랜덤값을 넣어준 것 같습니다.그런 다음 0x12345와 and 연산을 하고 fsb함수를 붙입니다. 저 함수로 익스플로잇을 하면 된대요!

상당한 인자와 환경변수는 모두 제거해주는 것 같습니다.포맷 스트링 버그만 사용해서 푸는 것 같네요.printf 함수의 got을 조건문 내의 주소로 해주면 자동팬으로 쉘이 따질 것 같은데 key를 랜덤값이 아니라 우리가 초기화해 줄 수도 있겠죠?

엑스코드(?) 제가 처음에 작성한 엑스코드입니다.그동안 항상 서버에 ssh하고 코드를 복사하고 나서 그 c언어를 비트에 맞게 컴파일하고, 제 파일을 로컬에서 따로 만들어 주었습니다. 왜? scp 명령어를 사용할 줄은 몰랐거든요!인터넷에서 확실히 이렇게 하면 파일이 된다는데, 제가 못하는 걸 어떻게 해야 하나요!이건 폴더가 아닙니다! 이것은 폴더입니다!모르는 것만 내뱉어서요.그래서 지금까지 그렇게 풀었습니다.

근데 오늘 그것 때문에 고생 좀 했어요.로컬에서는 에쿠스가 되었지만 서버에서는 에쿠스가 되지 않았습니다.그래서 오늘 깨달은 주된 내용은 바로 sp하는 방법입니다[email protected]: /home/fsb/fsb./ 정확하게 위와 같이 치면 현재 있는 폴더에 파일이 생깁니다.이상한 주황색 표시가 나는 것은 chmod755fsb하면 잘 사라집니다.그리고 이렇게 하면 제일 좋은 점!

서버와 로컬 간의 이진 차이가 없습니다!제 바이너리에서는 제가 입력한 13번째 인덱스가 6번째 인덱스 주소를 포함하고 있어서 그걸 이용해서 에쿠스를 했는데 서버에서는 전혀 통하지 않았습니다.그리고 그 이유를 다른 분들의 랩으로 알게 되었다는..ㅠ

앞으로는 위와 같이 바이너리를 다운로드 받아 사용합시다!익스플로잇 코드

새벽에 삽을 뜨니 졸려서 뿌듯했어요.내일도 올릴게요!

error: Content is protected !!