SEHOP学习

SEHOP的全称是Structured Exception Handler Overwrite Protection(结构化异常处理覆盖保护),SEH攻击是指通过栈溢出或者其他漏洞,使用精心构造的数据覆盖结构化异常处理链表上面的某个节点或者多个节点,从而控制EIP(控制程序执行流程)。而SEHOP则是是微软针对这种攻击提出的一种安全防护方案。

Server 2008 默认启用, VISTA 和 WINDOWS 7 中 SEHOP默认是关闭的。

怎么开启  SEHOP  :

1下载补丁        

2 修改注册表   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel

设置   DisableExceptionChainValidation 项,值为0 启用SEHOP

       

SEHOP的核心是检测程序栈中的所有SEH结构链表特别是最后一个SEH结构,它拥有一个特殊的异常处理函数指针,指向的是一个位于NTDLL中的函数。


解决方法 总结:

1 不去攻击SEH  去攻击函数返回地址  没启用GS 或者此函数没有GS保护  / 虚函数 没有攻击SEH等  

2 利用未启用SEHOP模块  例如 Armadilo加壳了 之后禁用了SEHOP

3伪造 SEH链

检查SEH链中最后一个异常,那么我们伪造一个结构绕过 非常苛刻的条件:ASLR不能被启用  因为伪造SEH需要用到 FinalExceptionHandler指向的地址








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值