首页 > 其他 > 详细

[Toddler's Bottle]

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

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函数不支持十六进制

技术分享图片

collision

Pwn:

col@pwnable:~$ ./col `python -c "print ‘\xe8\x05\xd9\x1d‘+‘\x01\x01\x01\x01‘*4"`

Reason:

hashcode = A + B + B + B + B

技术分享图片

 

 

 

用p32可以快速得到小端

技术分享图片

 

[Toddler's Bottle]

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!