SMALL

pwnable 4

[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

[Pwnable.kr] input2

[문제] [풀이] 문제에 접속해 파일 목록을 확인하니 input이라는 실행파일과 c코드가 존재하였다. input.c 파일을 확인하면 다음과 같은 소스코드를 확인할 수 있다. 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 int main(int argc, char* argv[], char* envp[]){ 8 printf("Welcome to pwnable.kr\n"); 9 printf("Let's see if you know how to give input to program\n"); 10 printf("Just give me correct inputs then you will get the flag :)\n"); 11 12 // argv 13 ..

Wargame/pwnable.kr 2021.07.22

[Pwnable.kr] random

[문제] [풀이] 문제에 접속해 파일 목록을 확인하니 random 실행파일과 c코드를 확인할 수 있다. random.c 파일을 확인하면 다음과 같다. 1 #include 2 3 int main(){ 4 unsigned int random; 5 random = rand(); // random value! 6 7 unsigned int key=0; 8 scanf("%d", &key); //입력 값을 key 변수에 저장 9 10 if( (key ^ random) == 0xdeadbeef ){ //입력 값인 key와 random 값을 xor 연산하여 0xdeadbeef가 나와야 함. 11 printf("Good!\n"); 12 system("/bin/cat flag"); 13 return 0; 14 } 15 1..

Wargame/pwnable.kr 2021.07.22

Pwnable.kr 문제 풀이-1.fd

[문제] [풀이] 1. ssh를 이용해 원격 접속 ssh [사용자 계정] @ [원격지 ip] -wget 명령으로 pwnable.kr 의 ip 주소를 알아낼 수 있음. (128.61.240.205) -ssh fd@128.61.240.205 –p 2222로 접속 -p 2222 는 포트번호임 - 접속 후 pw란에 guest 입력 시 접속이 된 것을 확인할 수 있음. 2. ls –al 명령으로 내부 파일 및 권한 확인 -최종적으로 flag를 찾아야 하지만, flag의 접근권한이 소유자(읽기), 그룹(읽기), 그 외(없음)으로 접근 불가함. -fd의 그룹 권한에 fd로 설정되어 있어 접근 가능함. (읽기, 실행 가능) -fd 파일이 컴파일된 fd.c 파일을 읽음 (cat fd.c) > int fd = atoi(a..

Wargame/pwnable.kr 2021.05.04
LIST