Pwn(5) - random
這題的 code 長這樣
```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;
}
```
然後就開心的看到 `rand` 沒有給 seed
所以可以直接試出來沒有 seed 的話出來會是 1804289383
要讓 `(key ^ random) == 0xdeadbeef`
所以 `key` 就是 0xdeadbeef ^ 1804289383 = 3039230856
輸入就有 flag 了
`Mommy, I thought libc random is unpredictable...`
sumbit,通過,開心
2021-08-17 13:08:46
留言
Last fetch: --:--
現在還沒有留言!