【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

渗透技巧 1年前 (2022) admin
500 0 0
【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞
【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞
【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞
李安
@PortalLab实验室

漏洞描述

Lanproxy 0.1 存在路径遍历漏洞,该漏洞允许目录遍历读取/../conf/config.properties来获取到内部网连接的凭据。

Lanproxy

lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面…)

漏洞版本

Lanproxy 0.1

修复前:

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞


修复补丁:https://github.com/ffay/lanproxy/commit/7787a143f9abf31ada4588e11741c92f0e145240

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞


修复方式:如果在路径中检测到../ ,直接返回 Forbidden。

漏洞成因:对用户输入的路径、没有进行过滤、攻击者可以使用该漏洞去访问任意文件。

环境搭建

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

漏洞复现

拉取源码

git clone https://github.com/ffay/lanproxy.git

回退到漏洞修复之前

cd lanproxy/

git reset –hard f768adb1fca4dbcb83c16778d9f3407bb8b2f524

maven编译项目

mvn package

项目编译完成后、会在项目根目录下创建distribution目录、包含服务端、客户端。
【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

config.properties

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞
【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞
漏洞测试
1、运行启动命令:
sh distribution/proxy-server-0.1/bin/startup.sh
2、访问http://127.0.0.1:8090端口、出现如下界面、环境启动成功:

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

3、测试Payload:/%2F..%2F/conf/config.properties

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

在使用Payload后、获取到config.properties 配置文件。该文件中包含:管理页面用户名、密码、以及ssl相关配置。

漏洞分析
开启debug模式
Lanproxy 的启动脚本 distribution/proxy-server-0.1/bin/startup.sh 、 debug 参数可以开启调试模式。调试端口为8000。

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

sh distribution/proxy-server-0.1/bin/startup.sh debug
IDEA 配置
【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞
动态调试
将断点打到 src/main/java/org/fengfei/lanproxy/server/config/web/HttpRequestHandler.java#outputPages,先通过URI实例,获取到uriPath(请求路径):/%2F..%2Fconf%2Fconfig.properties

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

接下来,会判断该路径是否为/,是/返回 index.html,否则返回获取到的uriPath。

PAGE_FOLDER 是获取当前程序所在的目录。

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

紧接着、会拼接PAGE_FOLDER与uriPath。

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

然后、生成一个新的File实例,rfile,然后判读是否是目录、还会检查该文件是否存在。

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

最后,使用 RandomAccessFile() 去读取文件。到这一步,已经可以读取到 config.properties 文件。

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

修复建议

安装最新Lanproxy版本,可以通过源码或者最新的安装包进行更新。
源码:https://github.com/ffay/lanproxy

安装包:https://file.nioee.com/d/2e81550ebdbd416c933f/

关于Portal Lab

星阑科技 Portal Lab 致力于前沿安全技术研究及能力工具化。主要研究方向为API 安全、应用安全、攻防对抗等领域。实验室成员研究成果曾发表于BlackHat、HITB、BlueHat、KCon、XCon等国内外知名安全会议,并多次发布开源安全工具。未来,Portal Lab将继续以开放创新的态度积极投入各类安全技术研究,持续为安全社区及企业级客户提供高质量技术输出。

【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

原文始发于微信公众号(星阑实验室):【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞

版权声明:admin 发表于 2022年10月27日 上午11:47。
转载请注明:【技术干货】CVE-2021-3019 Lanproxy 目录遍历漏洞 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...