SMALL

버퍼오버플로우 2

[Dreamhack] basic_exploitation_000

보호 기법 확인 32bit 바이너리 → 주소가 4byte 단위 relro 없음 → got overwrite 가능(여기서는 딱히 필요 없을 것 같음) 카나리 없음 → bof 공격 가능 nx bit 없음 → shellcode 삽입 가능 no pie → 주소가 그대로 일 것! 바이너리 실행 buf의 주소를 출력한 뒤, 사용자의 입력을 받고 있음 buf의 주소가 계속 바뀌고 있음 → ASLR이 걸려있기 때문! 문제 코드 분석 - basic_exploitation_000.c #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONB..

Dreamhack/Pwnable 2022.04.02

[HackCTF] Simple_Overflow_ver_2

[문제] [풀이] 바이너리를 실행해보면 입력 값에 대해 버퍼에 저장하여 주소와 함께 출력해주는 것을 확인할 수 있다. 주소는 실행할 때마다 바뀌고 있어 버퍼에 대한 값은 pwntool로 받아서 사용해야 할 것 같다. 보호 기법을 확인하니 NX 가 disabled 되어 있어 쉘코드를 작성할 수 있음을 확인할 수 있다. main 함수를 확인하니 꽤나 긴 흐름을 확인할 수 있었는데, 주요 함수들을 위주로 정리해보면 다음과 같다. main+61: Data : 출력 main+66: ebp-0x88 주소를 가져옴. main+76: %s로 문자열을 입력 받을 것을 의미함. main+83: scanf 함수 호출 -> 사용자의 입력 받음 main+88~232: 주소 값과 함께 사용자가 입력한 문자열을 1바이트 단위로 보..

Wargame/HackCTF 2021.07.25
LIST