PWNABLE-fd
PWNABLE-fd
这道题比较简单,但我还是从里面学到了一些我不清晰的C语言知识
题目信息

ssh连接
根据题目信息给的连接方式(ssh)连接到目标机器
1 | ssh fd@pwnable.kr -p2222 |

查看目录文件

不出所料,flag读取文件的权限果然是没有的
查看fd.c文件

分析代码
argc:参数个数argv[]:参数数组envp[]:环境参数数组if(argc<2){ printf("pass argv[1] a number\n"); return 0; }只要大于一个参数就可以绕过这个if语句
atoi函数:将字符串转化为int型read函数:ssize_t read(int fd, void * buf, size_t count);fd为文件指针,但有以下几种特例:fd == 0:从标准输入读取fd == 1:从标准输出读取fd == 2:从标准错误输出读取buf为读取内容的存放空间count为读入字节数if(!strcmp("LETMEWIN\n", buf)):当buf内容与前者相同时,条件成立
测试
- 使
fd == 0:即argv[1] == 4660(0x1234的10进制),让读取内容来源是我们的输入内容 - 输入
LETMEWIN

得到结果
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Clerk.Max(well);!
评论







