Buffer Overflow
-
Beginner_HeapCTF/HackCTF 2021. 2. 9. 00:30
Disassembly 디스어셈블리 void main(undefined8 argc, char **argv) { undefined4 *puVar1; undefined8 uVar2; undefined4 *puVar3; char *src; puVar1 = (undefined4 *)malloc(0x10); *puVar1 = 1; uVar2 = malloc(8); *(undefined8 *)(puVar1 + 2) = uVar2; puVar3 = (undefined4 *)malloc(0x10); *puVar3 = 2; uVar2 = malloc(8); *(undefined8 *)(puVar3 + 2) = uVar2; fgets(&src, 0x1000, _reloc.stdin); strcpy(*(undefined8 *..
-
j0n9hyun's secretCTF/HackCTF 2021. 2. 7. 21:12
Disassembly 디스어셈블리 undefined8 main() { setvbuf(*(int64_t *)0x6ca748, 0, 2, 0); setvbuf(*(int64_t *)0x6ca740, 0, 2, 0); setvbuf(*(int64_t *)0x6ca738, 0, 2, 0); iVar2 = 0x72; *(undefined4 *)0x6cce98 = open("top_secret"); iVar2 = printf("input name: "); scanf("%s", 0x6ccd60); iVar1 = read(*(undefined4 *)0x6cce98, 0x6ccd6a, 300); write(1, 0x6ccd6a, (int64_t)iVar1); return 0; } main은 top_secret이라는 이름..
-
PoetCTF/HackCTF 2021. 2. 1. 01:26
Disassembly 디스어셈블리 void main(undefined8 argc, char **argv) { undefined8 in_R8; undefined8 in_R9; char **var_10h; int64_t var_4h; setvbuf(_reloc.stdout, 0, 2, 0, in_R8, in_R9, argv); puts( "\n**********************************************************\n* 우리는 2018년의 시인(poet)을 찾고 있습니다. *\n* 플래그상을 받고 싶다면 지금 한 줄의 시를 쓰세요! *\n**********************************************************\n" ); do { while( t..
-
Basic_BOF #1CTF/HackCTF 2021. 1. 21. 00:31
Disassembly 디스어셈블리 undefined4 main(void) { undefined auStack60 [4]; char *s; int32_t iStack20; uint32_t var_ch; undefined *puStack12; int32_t var_4h; puStack12 = &stack0x00000004; iStack20 = 0x4030201; fgets(auStack60, 0x2d, _reloc.stdin); printf("\n[buf]: %s\n", auStack60); printf("[check] %p\n", iStack20); if ((iStack20 != 0x4030201) && (iStack20 != -0x21524111)) { puts("\nYou are on the right..