![[HackCTF] Basic_BOF #2](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fy9xh4%2Fbtrqmo2JUSu%2FBRgfMM4RlXnmk8IMXJ8Br1%2Fimg.png)
접속정보 nc ctf.j0n9hyun.xyz 3001 ???????? 이게뭐람 우선 이전과 동일하게 ida로 까보도록 하자 main 함수의 모습 int __cdecl main(int argc, const char **argv, const char **envp) { char s[128]; // [esp+Ch] [ebp-8Ch] BYREF void (*v5)(void); // [esp+8Ch] [ebp-Ch] v5 = (void (*)(void))sup; fgets(s, 133, stdin); v5(); return 0; } (c언어 배운지 얼마나됐다고 v5 해석을 어떻게 해야될지 몰라서 검색의 힘을 빌렸다.......) char s[128]; // [esp+Ch] [ebp-8Ch] BYREF void (*..
![[HackCTF] Basic_BOF #1](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6x2Rn%2FbtrqiqGyDiW%2F5LeATTA0Vkl8n9m1xwFcjK%2Fimg.png)
접속정보 nc ctf.j0n9hyun.xyz 3000 우분투로 접속한 결과 ⇒ 버퍼에 값을 입력하고 해당 값이 0x4030201과 같은지 체크하는 구조인듯 추측 가능 이 프로그램을 IDA로 까보고자 함.. ida에서 f5를 누르면 이렇게 보여준다.. 친절........ int __cdecl main(int argc, const char **argv, const char **envp) { char s[40]; // [esp+4h] [ebp-34h] BYREF int v5; // [esp+2Ch] [ebp-Ch] v5 = 0x4030201; fgets(s, 45, stdin); printf("\\n[buf]: %s\\n", s); printf("[check] %p\\n", (const void *)v5); ..