Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
openlitespeed-dup-cookie-litespeed-role — OpenLiteSpeed 1.9.3 - 高 - リモート - 権限残留 - HTTP/1 の重複 Cookie が litespeed_role の 403 を回避; lsphp は依然として HTTP_COOKIE を受け取る | Kitploit
ツール/GitHubGitHub/abraxas/openlitespeed-dup-cookie-litespeed-role
脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ウェブセキュリティペネトレーションテストラボと実践
GitHubabraxas/openlitespeed-dup-cookie-litespeed-role

openlitespeed-dup-cookie-litespeed-role

OpenLiteSpeed 1.9.3 - 高 - リモート - 権限残留 - HTTP/1 の重複 Cookie が 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 になる。2 番目の Cookie 行は unknown に降格され、litespeed_role= のスキャンは実行されず、IS_BL_COOKIE は未設定のままとなり、lsphp は依然として HTTP_COOKIE を受け取る。LSAPI は最後が優先: PHP の $_SERVER['HTTP_COOKIE'] は 2 番目の行になる。

HTTP/2 はすでにすべての Cookie ヘッダーをスキャンする。この残存は HTTP/1.1 である。ラボでは $_COOKIE['litespeed_role'] は設定されなかった。WordPress ATO ではない。RCE ではない。

IDCVE 未割り当て
クラス権限の残存 (1.8.2.1 の litespeed_role= 403 スキップ)
到達範囲リモート (未認証の HTTP/1.1)
CWECWE-693, CWE-436
CVSSHigh: 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 のみ

攻撃者ができること

1 つの HTTP/1.1 リクエストで 2 つの Cookie ヘッダーを送信する。1 番目は無害である。2 番目は 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 のソースを 20 回探索した。1.8.2.1 のブロックは、最初の共通 Cookie に対する memmem(..., "litespeed_role=", 15) である。重複 Cookie は 400 のリストに含まれていない。

誤った方向性: urllib が 2 つの Cookie ヘッダーを送信できるとみなすこと (urllib はそれらをマージする); 公式 docker が 8088 でリッスンすると期待すること (Hub イメージは 80); $_COOKIE が HTTP_COOKIE の最後優先に従うと期待すること (LSAPI は最初のヘッダーから Cookie テーブルを埋めた)。

ラボ

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 Cookie
ツールをダウンロード