pwnable:random
pwnable.kr:random 题目链接
question
Daddy, teach me how to use random value in programming!
ssh random@pwnable.kr -p2222 (pw:guest)
random.c
#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;
}
analyse
当rand()
函数未设置随机种子时,默认随机种子为1,而种子相同时,每次产生的伪随机数序列都是相同的
get flag
random@ubuntu:~$ ./random
3039230856
Good!
Mommy, I thought libc random is unpredictable...
flag
:Mommy, I thought libc random is unpredictable...