Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

CIDY

[Pwnable.kr] 문제풀이(fd) 본문

Hack/Pwnable

[Pwnable.kr] 문제풀이(fd)

CIDY 2022. 8. 11. 06:34
// 32-bit, partial relro, nx
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char buf[32];
int main(int argc, char* argv[], char* envp[]){
        if(argc<2){
                printf("pass argv[1] a number\n");
                return 0;
        }
        int fd = atoi( argv[1] ) - 0x1234;
        int len = 0;
        len = read(fd, buf, 32);
        if(!strcmp("LETMEWIN\n", buf)){
                printf("good job :)\n");
                system("/bin/cat flag");
                exit(0);
        }
        printf("learn about Linux file IO\n");
        return 0;

}


1. 일단 실행 시에 숫자 인자를 하나 줘야 한다.

2. 그 인자에 0x1234를 뺀 값을 fd로 한다.

3. 그 값을 fd로 해서 buf에 read한다.

4. buf에 LETMEWIN\n을 적으면 된다.

flag

'Hack > Pwnable' 카테고리의 다른 글

[Pwnable.tw] 문제풀이(CAOV)  (0) 2022.10.13
[Pwnable.kr] 문제풀이(unexploitable)  (0) 2022.08.15
[Pwnable.kr] 문제풀이(collision)  (0) 2022.08.12
[Pwnable.kr] 문제풀이(bof)  (0) 2022.08.11
문자열 입출력함수 정리(중)  (0) 2022.08.08