
취약한 WSO2 제품에서 무제한 파일 업로드 및 원격 코드 실행을 가능하게 하는 CVE-2022-29464에 대한 개념 증명 익스플로잇으로, 명령 실행 및 파일 유출을 위한 사용자 지정 JSP 셸을 포함합니다.
특정 WSO2 제품에서 무제한 파일 업로드가 허용되어 원격 코드 실행이 가능합니다. 공격자는 /fileupload 엔드포인트와 Content-Disposition 디렉터리 트래버설 시퀀스를 사용하여 웹 루트 아래의 디렉터리(예: ../../../../repository/deployment/server/webapps 디렉터리)에 접근해야 합니다.
python3 main.py https://example.com shell.jsp
https://example.com를 취약한 서버로, shell.jsp를 업로드에 사용할 파일 이름으로 바꾸세요.
shell.jsp 파일을 원하는 대로 편집하세요. 하지만 현재 셸도 충분히 잘 작동합니다 (적어도 다른 JSP 셸보다는 낫습니다).
이 셸은 stdout과 stderr에서 출력을 수집할 수 있습니다. 명령어는 /bin/sh를 사용하여 실행됩니다.
대부분의 경우, 시스템 관리자는 WSO2 제품을 슈퍼유저로 실행합니다. 이 익스플로잇을 사용하면 전체 시스템에 대해 슈퍼유저 권한을 얻게 됩니다.
데이터베이스 파일은 ~/repository/database 디렉터리에 위치합니다.
IntelliJ IDEA를 사용하여 H2 유형 데이터베이스를 열 수 있습니다. 이 방법을 참고하세요.
이 익스플로잇을 사용하면 모든 디렉터리에서 ~/repository/deployment/server/webapps/authenticationendpoint로 파일을 복사할 수 있습니다. authenticationendpoint 디렉터리는 JSP를 제공하지만, 다른 파일을 제공하는 데도 사용할 수 있습니다.
예시:
cp ~/repository/database/WSO2CARBON_DB.h2.db ~/repository/deployment/server/webapps/authenticationendpoint/WSO2CARBON_DB.h2.db
이 명령은 기본 DB 파일을 다운로드할 수 있는 디렉터리로 복사합니다.
저는 어떤 종류의 열핵 전쟁이나 귀하의 체포에 대해 책임지지 않습니다. 이 익스플로잇은 테스트 환경에서만 사용하십시오.