random

Daddy, teach me how to use random value in programming!

ssh random@pwnable.kr -p2222 (pw:guest)

 

程序源码如下:

#include <stdio.h>

int main(){
        unsigned int random;
        random = rand();        // random value!

        unsigned int key=0;
        scanf("%d", &key);

        if( (key ^ random) == 0xdeadbeef ){
                printf("Good!\n");
                system("/bin/cat flag");
                return 0;
        }

        printf("Wrong, maybe you should try 2^32 cases.\n");
        return 0;
}

rand使用前必须用srand设置随机数种子,否则每次的值是一样的

通过gdb得到rand结果为0x6b8b4567,因此计算得出key为3039230856

posted @ 2021-08-02 10:05  hktk1643  阅读(102)  评论(0编辑  收藏  举报