![[HackCTF] Basic_BOF #2](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fy9xh4%2Fbtrqmo2JUSu%2FAAAAAAAAAAAAAAAAAAAAAKIDtNK4ZW3ZZuM-VErKGPtkoXh7XBNW5twvnVNAablN%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D8w2nOJ3De7b%252FpjNJAwtlgtXtUyo%253D)
접속정보 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%2Fdna%2F6x2Rn%2FbtrqiqGyDiW%2FAAAAAAAAAAAAAAAAAAAAAN_fFXY3gStnLe6iySD7_UeWQ7OQ3wqGx8lhfsRLKPnw%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DY4ndLGkOujCaAkEiAZl8nLh1MgM%253D)
접속정보 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); ..