23.md5_calculator
复制本地路径 | 在线编辑
一般难度,有两点:
rand()随机数如果为srand(time(0)),可以通过获取当前时间暴力破解,因为time(0)是按照秒来记的,完全来得及知道它的值。- 一般来说,一个程序的
canary是始终一致的,也就是其各个函数的canary都是一样的。如果某个函数泄露了canary的值,那如果还有别的有栈溢出漏洞的函数,此时构造栈溢出就可以不用担心canary不对了。
一般难度,有两点:
rand() 随机数如果为 srand(time(0)),可以通过获取当前时间暴力破解,因为 time(0) 是按照秒来记的,完全来得及知道它的值。canary 是始终一致的,也就是其各个函数的 canary 都是一样的。如果某个函数泄露了 canary 的值,那如果还有别的有栈溢出漏洞的函数,此时构造栈溢出就可以不用担心 canary 不对了。