码迷,mamicode.com
首页 > 其他好文 > 详细

[Toddler's Bottle]

时间:2020-02-18 20:13:53      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:cat   mic   isp   splay   指令   size   string   win   strong   

fd

Pwn:

技术图片

Reason:

当fd为0的时候代表标准输入,也就是控制台,然后就可以实现buf=="LETMEWIN\n" 编辑了一下fd.c-->命名为1.c用来测试,gcc编译指令“gcc 1.c -o 1”

#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;
	}
	printf("%s %s\n",argv[0],argv[1]);
	int fd = atoi( argv[1] ) - 0x1234;
	printf("fd:%d\n",fd);
	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;
}

本来是想直接传0x1234但是atoi后为0,看来atoi函数不支持十六进制

技术图片

 

[Toddler's Bottle]

标签:cat   mic   isp   splay   指令   size   string   win   strong   

原文地址:https://www.cnblogs.com/chrysanthemum/p/12327540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!