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

Pwnable-fd

时间:2019-10-26 17:38:43      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:com   span   info   number   strcmp   bin   let   等于   利用   

打开Ubuntu输入ssh fd@pwnable.kr -p2222,连接之后输入密码guest

技术图片

 之后就是ls -l看看里面的文件和权限,fd、fd.c、flag

技术图片

 看看fd.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;
}

要获得flag就要使buf的内容等于LETMEWIN,我们如何让buf的内容等于LETMEWIN,我们先看看read函数的fd

当fd等于0的时候,是标准输入,意味着你可以获得一次通过键盘输入字符串的机会,我们就要利用这次机会把LETMEWIN输入到buf,获得flag

fd如何等于0,atoi是把字符串转换成整型数的一个函数,我们可以看到只要传入4660就可以让它们相减使fd等于0,4660是0x1234的十进制数

技术图片

 

mommy! I think I know what a file descriptor is!!

 

Pwnable-fd

标签:com   span   info   number   strcmp   bin   let   等于   利用   

原文地址:https://www.cnblogs.com/gaonuoqi/p/11743646.html

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