首页 > 代码库 > 虚函数突破GS
虚函数突破GS
- 如何确定变量的内存布局
- 为什么不直接执行buff里面的shellcode,而要绕远
- 因为虚表指针指向buff,buff的地址还要指向另一个地址,没有办法直接执行buff。这是由虚函数与虚表性质决定。
- 为什么执行完call还必须返回shellcode,call不就是call进shellcode吗?
- call是必须的,见问题2.然后剩下的问题是怎么回到shellcode内,一是把shell地址作为call的地址,但是地址在不同电脑上加载的时候是不一样的,所以地址的方法不可行;二是通过跳板跳转实现。这样需要注意的是跳板在shellcode的一开头,当作为shell的时候要被执行到,需要尝试一个“poppopretn”的地址时不产生异常(乱指令比较容易产生异常,但是也会被编译器放过去,尝试的时候7c开头的5个不成,78开头的2个都成功了)。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。