dahuan_GuessNumber
随机数
大欢出的一道屎题、不过也算很有意思了。



核心思想就是进入一个func函数中,连续猜对20次数字便可以进入到一个叫做flag()的函数里

flag函数就是一个获取buf,然后把你输入的buf放入system里面来运行的玩意。而且没有可供栈溢出的空间。
在把buf传给system之前会有一个filter函数,这个里面会用str来对比字符串,如果我输入的东西里面有什么值被程序制作着定义为“不可以输入的”那么就会直接退出程序:

简直就是把可以禁用的全禁用了。
猜数字其实才是要记录的核心,就是用LibcSearcher库里面的cdll.LoadLibrary函数。因为我们的srand使用的time函数,是在题目所诞生的环境里诞生的。按照道理同一个环境的电脑同一时刻用time(0)作为种子生成出来的随机数一定是一样的。所以我们用附件里面的libc来生成随机数即可。
exp:
1 | from pwn import * |
至于怎么找到flag嘛…

./flag即可
别问,最狗屎的答案,是大欢和我的两个蠢人灵机一动搞出来的
嘻嘻
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Kanyo’s Blogs!











