Web安全

lanproxy 目录遍历漏洞(CVE-2020-3019)

Posted on 2021-01-08,1 min read

首先下源码https://github.com/ffay/lanproxy/releases/tag/v0.1
然后到src/main/java/org/fengfei/lanproxy/server/metrics/ProxyServerContainer启动服务

下个断点。冲
然而我对java还是不太熟。。没看懂入口。看危险函数确定的漏洞触发点

这里程序获取了Uri。然后直接拼接了路径。接下来又new了一个File对象
判断是否是目录。如果是目录就再new File一次
如果文件不存在就返回file not found
否则继续执行。到下面99行。获取mime类型。105行获取文件内容长度

接下来就直接设置了一些HTTP的返回头、文件长度、文件MIME类型啥的
重要的是128行。它用DefaultFileRegion获取了文件内容。然后write写入了缓冲区

接着。134行。ctx.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT);
这个writeAndFlush函数。相当于直接发送一个消息。清空缓冲区
所以。到这。就获取到了文件内容

下一篇: hxp2020web1→