Cavern.sigma
Welcome to Cavern.sigma
因為EOF全程不知道在幹嘛,分數全部沒有。 痛定思痛,決定在寒假做這個東東 每個星期至少做兩個pwn題目,然後發writeup上來 使用的網站是http://pwnable.kr/ ,順序依照網站的題目順序。 # fd **知識點** - c: command line argument **writeup** 大概是熟悉流程用的題目 ``` Mommy! what is a file descriptor in Linux? * try to play the wargame your self but if you are ABSOLUTE beginner, follow this tutorial link: https://youtu.be/971eZhMHQQw ssh fd@pwnable.kr -p2222 (pw:guest) ``` 就連上去 然後裡面有3個檔案 ```shell $ ls fd fd.c flag ``` 試著`cat flag`然後`cat: flag: Permission denied` 所以去讀`fd.c` ***fd.c*** ```c #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; } ``` 非常明顯只要輸入`LETMEWIN`就可以了 知道stdin的file descriptor是0 所以命令行參數=0x1234=4660 ```shell $ ./fd 4660 LETMEWIN good job :) mommy! I think I know what a file descriptor is!! ``` 拿到flag了,去網站submit通過了好開心
2021-01-11 20:36:27
留言
Last fetch: --:-- 
現在還沒有留言!