binary 컴파일 한 시스템 정보(리눅스 버전)를 파악하는 법
strings -tx [binary] 입력하면 컴파일 한 버전이 나옵니다. 까먹을까봐 블로그에 올려둠
strings -tx [binary] 입력하면 컴파일 한 버전이 나옵니다. 까먹을까봐 블로그에 올려둠
우리가 배웠던 명령어는 mov밖에 없는데 종종 보다보면 movl, movq 이런 opcode들이 보인다. mov에 대해 파생된 것들인데 우리가 알고있는 단위를 명시해준다고 생각하면 된다. movq (qword : 64bit) movl (long?: 32bit) movw (word : 16bit) movb(byte : 8bit) 만큼만 대입해준다는 뜻이다. 더불어 이번 shellcraft에 대해 조금 배우면서 보다보니 rax, eax, (ax), al 이렇게 8byte, 4byte, 2byte, byte로 가던 순서가 r10과 같은 레지스터에서는 어떻게 이름이 표기되느냐 r10d : 4byte r10b : 1byte로 된다고 한다 아마 찾아보진 않았지만 2byte는 r10w 가 아닐까
티스토리 에러로 글을 못 쓰던 3일간 포너블 환경 구축을 다시 진행했습니다. 기존에 https://thfist-1071.tistory.com/entry/%EC%9C%88%EB%8F%84%EC%9A%B0-10%EC%97%90%EC%84%9C-vm-%EC%84%9C%EB%B2%84%EA%B5%AC%EC%B6%95-%EB%A7%A5%EC%9C%BC%EB%A1%9C-%ED%8F%AC%EB%84%88%EB%B8%94-%ED%99%98%EA%B2%BD-%EB%A7%8C%EB%93%A4%EA%B8%B0?category=507402 윈도우 10에서 vm 서버구축, 맥으로 포너블 환경 만들기 18일에 있던 2022 세종 핵테온 CTF를 마치고 다시 돌아와서 그 당시에 못 풀던 문제가 버전 문제라고 하여 여러 우분투 버..
18일에 있던 2022 세종 핵테온 CTF를 마치고 다시 돌아와서 그 당시에 못 풀던 문제가 버전 문제라고 하여 여러 우분투 버전을 가지고 있어야겠다고 느꼈고 아니 나는 맥북으로 포너블을 못하는데 어떻게 사람들은 잘만 맥북을 가지고 대회를 나가는걸까? 싶어서 물어봤더니 컨퍼런스에서 오랜만에 만난 친구가 자기는 서버를 만들어두고 쓴다고 하더라고요 예전엔 무슨 말인지 몰랐겠지만 이젠 뭔가 해볼만한 용기가 생겨서. 평소에 쓰던 그램으로 서버를 구축해보기로 생각했습니다. vm은 기존에 있던 Ubuntu 16.04, 18.04와 더불어 추가로 설치한 20.04, kali를 사용하기로 했습니다. 참고문헌 https://cowhacker.tistory.com/87 집에서 개인 서버 만들기 집에서 간단하게 ( 딱 3단..
이번에는 plt와 got를 뜯어보고 기록하면서 이해할 것입니다. 이 글에서 끝장내버리고 싶어요. 저번 글에서 [RTL] 1. RTL과 라이브러리 저번 글에서 SF1을 풀이할 때 RTL에서 왜 4byte를 주는지 잘 몰랐는데, 이제 확실히 이해하면서 글을 적어보고자 합니다. 이 글을 통해서가 아니더라도 RTL에서 인자와 4byte를 띄운다는 것을 이해한 thfist-1071.tistory.com 동적! 라이브러리(그 중에서 libc) 의 주소에 대해서 다뤘는데 이번에는 이를 구체적으로, plt와 got를 알아보며 어떻게 우리가 함수를 불러와 사용하는지 알아봅시다. (exploit할 때 그닥 알 필요는 없었는데, 궁금하잖아요) 참고문헌 : https://bpsecblog.wordpress.com/2016/0..
gdb에서 intel 문법에 익숙한데 at&t로 되어있다면, set disassembly-flavor intel at&t로 바꾸고 싶다면 set disassembly-flavor att 문법을 확인하고 싶으면 show disassembly-flavor