先checksec一下
我的天,有栈保护,nx,咋办……
IDA进去,我们可以看见有个函数挺关键的,如下
我们可以看到stdin是可以无限输入的,但是只有接收输入时接收到'\n',才会继续执行(跳出while循环),找不出栈溢出的办法
然后看了大佬的操作之后发现:可以故意触发canary来攻击(SSP(Stack Smashing Protector ) leak)
先介绍一下好了,SSP外号叫金丝雀。应对“栈溢出”(也称缓存区溢出),需要一些对策。比如GCC的“Stack-Smashing Protector”机制(在数组后插入一些金丝雀(Canary, 因为大家在矿井作业时&#x