Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
openlitespeed-dup-cookie-litespeed-role — OpenLiteSpeed 1.9.3 - 높음 - 원격 - 권한 잔여 - HTTP/1 중복 쿠키가 litespeed_role 403을 우회함; lsphp가 여전히 HTTP_COOKIE를 수신함 | Kitploit
도구/GitHubGitHub/abraxas/openlitespeed-dup-cookie-litespeed-role
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringWeb SecurityPenetration TestingLabs & Practice
GitHub
abraxas/openlitespeed-dup-cookie-litespeed-role

openlitespeed-dup-cookie-litespeed-role

OpenLiteSpeed 1.9.3 - 높음 - 원격 - 권한 잔여 - HTTP/1 중복 쿠키가 litespeed_role 403을 우회함; lsphp가 여전히 HTTP_COOKIE를 수신함

저장소 보기
1310일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - openlitespeed-dup-cookie-litespeed-role

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  openlitespeed-dup-cookie-litespeed-role

openlitespeed-dup-cookie-litespeed-role

분류: 권한 잔존 도달 범위: 원격

OpenLiteSpeed 1.9.3(edbe7f7db12577e905291955a6d416200942fb8b)은 단일 Cookie: litespeed_role=에 대해 여전히 403을 반환한다(1.8.2.1 차단). HTTP/1 중복 Cookie는 400이 아니다. Host / Content-Length / Transfer-Encoding / Authorization 중복은 400이다. 두 번째 Cookie 줄은 unknown으로 강등되고, litespeed_role= 스캔은 실행되지 않으며, IS_BL_COOKIE는 설정되지 않은 채로 남고, lsphp는 여전히 HTTP_COOKIE를 수신한다. LSAPI는 마지막 값이 이긴다: PHP $_SERVER['HTTP_COOKIE']는 두 번째 줄이다.

HTTP/2는 이미 모든 Cookie 헤더를 스캔한다. 이 잔존 문제는 HTTP/1.1에 해당한다. 실습 환경에서는 $_COOKIE['litespeed_role']을 채우지 않았다. WordPress ATO가 아니다. RCE도 아니다.

ID아직 CVE 없음
분류권한 잔존 (1.8.2.1 litespeed_role= 403 건너뛰기)
도달 범위원격 (인증되지 않은 HTTP/1.1)
CWECWE-693, CWE-436
CVSS높음: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
제품OpenLiteSpeed
영향받는 버전1.9.3 (edbe7f7); HTTP/1.1 및 lsphp
인증없음
라이선스GNU Affero GPL v3.0
실습 환경127.0.0.1:18750 전용

공격자가 할 수 있는 일

하나의 HTTP/1.1 요청에 두 개의 Cookie 헤더를 보낸다. 첫 번째는 무해하다. 두 번째는 litespeed_role=을 담고 있다. OpenLiteSpeed는 단일 Cookie 헤더와 모든 HTTP/2 Cookie 헤더에서 해당 이름에 대해 403을 반환한다. HTTP/1 Cookie 중복은 403을 건너뛴다. lsphp는 여전히 HTTP_COOKIE에서 해당 역할을 본다.

HTTP_COOKIE를 파싱하는 앱은 1.8.2.1 제어가 워커에서 차단하려 했던 값을 얻게 된다. $_COOKIE['litespeed_role']만 읽는 앱은 이 실습 환경에서 그 값을 보지 못했다.

발견 방법

Caddy와 lighttpd 이후 v1.9.3 소스를 스무 번 탐색했다. 1.8.2.1 차단은 첫 번째 공통 Cookie에 대한 memmem(..., "litespeed_role=", 15)이다. 중복 Cookie는 400 목록에 없다.

잘못된 방향: urllib이 두 개의 Cookie 헤더를 보낼 수 있다고 가정한 것(urllib은 이를 병합한다); 공식 docker가 8088에서 수신한다고 기대한 것(Hub 이미지는 80이다); $_COOKIE가 HTTP_COOKIE의 마지막 값 우선을 따를 것이라 기대한 것(LSAPI는 첫 번째 헤더로 쿠키 테이블을 채웠다).

실습 환경

cd lab
./run.sh

이미지 litespeedtech/openlitespeed:1.9.3-lsphp84. 오라클 lab/www/cookie.php. 원시 HTTP/1.1 소켓. 루프백 바인드.

SUCCESS openlitespeed-dup-cookie-litespeed-role single-cookie=403 dummy=200 dup-cookie=200 php-sees-role=yes how=php-http-cookie OLS-DUP-COOKIE-LITESPEED-ROLE-WITNESS

수정 방법

HTTP/2가 이미 하는 것처럼 모든 HTTP/1 Cookie 헤더를 스캔하거나, Host가 400인 것처럼 중복 Cookie를 400으로 처리하라.

참고 자료

  • github.com/litespeedtech/openlitespeed 태그 v1.9.3 (edbe7f7db12577e905291955a6d416200942fb8b)
  • src/http/httpreq.cpp 중복 공통 헤더, 첫 Cookie litespeed_role= 스캔, IS_BL_COOKIE 403
  • src/http/httpcgitool.cpp unknown 헤더를 HTTP_COOKIE로 내보내기
  • 1.8.2.1 차단 litespeed_role 쿠키
도구 다운로드