System Hacking 3

[System Hacking] Dreamhack : Return to Library 문제 풀이 (RTL)

[문제 분석] checksec rtl위 코드를 통해 적용된 보호기법을 살펴보았다. Canary와 NX가 적용되었다. // Name: rtl.c// Compile: gcc -o rtl rtl.c -fno-PIE -no-pie#include #include const char* binsh = "/bin/sh";int main() { char buf[0x30]; setvbuf(stdin, 0, _IONBF, 0); setvbuf(stdout, 0, _IONBF, 0); // Add system function to plt's entry system("echo 'system@plt"); // Leak canary printf("[1] Leak Canary\n"); printf("Buf: "); ..

System Hacking 2024.08.24

[System Hacking] Dreamhack : ssp_001 문제 풀이 (Canary)

Canary와 관련된 문제인 ssp_001을 풀어보겠다.환경에 대해서 친절하게 설명해줬지만 그냥 checksec으로 한번 더 해봤다. (wsl 사용)아키텍쳐는 i386-32를 사용한다 (32bit)Canary found인 것을 확인할 수 있다. nc로 접속해보았는데 뭐가 조건이 좀 많았다.1. Fill the box2. Print the box3. Exit코드를 자세히 살펴봐야 될 것 같다.[문제 분석]#include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1);}void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NUL..

System Hacking 2024.08.22

[System Hacking] - Dreamhack : Return to Shellcode 문제 풀이 (Canary)

System Hacking 중 Canary에 대한 문제, 이것을 오늘 풀어보겠다.문제 파일을 받을 수 있는데 원래의 c코드랑 이것에 해당하는 바이너리 파일 두개가 있다. 본 게시글 작성자는 wsl에서 문제를 풀었다.[문제 분석] 우선 r2s에 적용된 보안에 대해서 살펴보자면amd64를 사용하고 Canary found로 되어있는 것을 확인할 수 있다. 확인 command는 아래와 같다.checksec r2sCanary가 잘 걸려있는 것을 확인할 수 있다. // Name: r2s.c// Compile: gcc -o r2s r2s.c -zexecstack#include #include void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0);}int..

System Hacking 2024.08.21