Rop攻击
与客户沟通的技巧Rop全称Return-Oriented Programming,就是对栈上的返回地址进⾏利⽤的⼀种攻击⽅式。
swallow是什么意思对于栈的利⽤经历了⼏个阶段,都是在“道⾼⼀尺,魔⾼⼀丈”的正邪较量中不断地升级地。
改变自己英文
1. Stack Smashing Attack
老鼠爱大米英文版
简单版本,主要是覆盖返回地址,将其指引到⾃⼰构造好的shellcode中去。
因为⾃⼰的shellcode通常是存储在数据之中,所以可以通过DEP的机制来防御这种攻击。
托福听力词汇
2. Return Into Library
既然⽆法使⽤⾃⼰构造好的shellcode,那么就可以复⽤已经写好的library代码,因为这些代码是被信任地,加载到可以执⾏的内存区域中去的。通过精⼼构造的栈传递特定参数来调⽤library中特定函数的⽅式,来构建有效的攻击逻辑。
这种机制可以通过限制library中的函数的破坏性的⽅式,以及64系统带来的新的函数调⽤⽅式(函数调⽤的第⼀个参数不再是通过栈传递,⽽是通过寄存器传递)来防御。
3. Borrowed Code Chunk
这⼀机制通过查找library中特定的指令序列,通过这些指令序列将构造好的参数传递到寄存器和栈中来完成攻击。
matterhorn
4. Return-Oriented Programming
prestige
通过查找library中的代码来构造出可以执⾏任意逻辑的攻击链。
在线日语学习有两种⽅式来防御:
reflector
ASLR, Address Space Layout Randomization, 通过随机化地布局library加载到内存中的地址,来增加构造攻击链的难度。kBouncer, 通过检查返回指令是否返回到⼀个⽴即调⽤call指令的位置的⽅式来监控是否有攻击链的⾏为,缺点是性能太差。英语角话题