我一直在学习使用堆栈溢出编写RET值和SEH覆盖漏洞的教程。
据我所知,当我覆盖SEH值时,RET值也会被覆盖,而且使SEH攻击变得更加困难,因为您还需要抛出一个异常才能运行该漏洞。
如果是的话,如果我总是可以使用RET值,那么SEH覆盖漏洞的用途是什么呢?SEH覆盖RET覆盖的利弊是什么?
发布于 2015-04-26 19:37:38
这取决于哪些是漏洞,哪些是利用条件。
如果您可以覆盖RET并构建一个比您正确的完整的漏洞,那么覆盖SEH将是不必要的。
但情况并不总是如此..。在某些情况下,将出现RET覆盖保护,如堆栈金丝雀。
在这种情况下,使用RET覆盖比覆盖SEH处理程序和生成异常要困难得多(如果不是不可能的话)。
对于覆盖SEH也可以这样说,如果SafeSeh是开的,堆栈金丝雀也关闭了,那么使用RET覆盖比使用RET覆盖要容易得多。
一般来说,我要说的是,决定使用哪种利用技术的主要事实取决于现有的缓解措施和利用的容易程度。
如果所有其他选项都失败了,那么使用另一个攻击矢量总是很好的。
https://stackoverflow.com/questions/29882238
复制相似问题