Apache-Tomcat と 冗長な UTF-8 表現 (CVE 検証レポート ) 2008 年 08 月 26 日 Ver. 0.1

Similar documents
SOC Report

SOC Report

SOC Report

Microsoft IISのWebDAV認証回避の脆弱性に関する検証レポート

SQLインジェクション・ワームに関する現状と推奨する対策案

SOC Report

SOC Report

SOC Report

文字コード略歴 よこやままさふみ社内勉強会 2012/05/18 文字コード略歴 Powered by Rabbit 2.0.6

SOC Report

SOC Report

SOC Report

目次 1. Web サーバのセットアップ Cache のセットアップ Cache のインストール ライセンスキーの設定 本書に関するお問い合わせ / 32

vibit CMS テンプレート制作について

ADempiere (3.5)

SOC Report

Ver.50 改版履歴 版数 日付 内容 担当 V //9 新規作成 STS V..0 06/6/ 画像修正 STS V..0 06/6/8 画像修正 STS V /9/5 画像追加 (Windows0 Anniversary の記載 ) STS V // 文言修

Agenda 1. 今回のバージョンアップについて a. バージョンアップ概要 b. バージョンアップ目的 c. 新バージョンのシステム要件に関する注意事項 d. 現行バージョンのサポート期間 2. 対応プラットフォームの追加 3. 新機能の追加および機能強化 2

ESMPRO/ServerManager Ver. 6 変更履歴

intra-mart FormatCreator Version6.1

ウェブデザイン技能検定 1 級実技 平成 28 年度 第 4 回 ウェブデザイン技能検定 1 級 実技試験概要 試験にあたっての注意事項 試験者は本試験の留意事項 注意事項に留意して作業を行うこと ペーパー実技試験は 課題 1 から 5 までの 5 課題を 60 分間で行うこと 作業実技試験は 課題

1 Ver デジタル証明書の更新手順 1 S T E P 1 netnaccs 専用デジタル ( クライアント ) 証明書 の更新作業を開始する前に 次の準備を行って下さい (1) お使いになるパソコンのブラウザのバージョンを確認して下さい ( デジタル証明書の取得等は 必ず Inte

ユーティリティ 管理番号 内容 対象バージョン 157 管理情報バッチ登録コマンド (utliupdt) のメッセージ出力に対し リダイレクトまたはパイプを使用すると メッセージが途中までしか出 力されないことがある 267 転送集計コマンド (utllogcnt) でファイル ID とホスト名の組

intra-mart ワークフローデザイナ

ビジネス Web 推奨環境と設定について 新システムにおけるビジネスWebの推奨環境は以下のとおりです 推奨環境には 開発元のサポートが終了し セキュリティ更新プログラム等の提供が行われていないOSやブラウザは含まれません また 推奨環境については動作確認をしておりますが パソコンの機種や設定におい

ブラウザ Internet Explorer 7 の設定について 第3版

PowerPoint プレゼンテーション

【更新中】証明書マニュアルv2.1_BMO

<< 目次 >> 1 PDF コンバータのインストール ライセンスコードの入力 PDF にフォントを埋め込みたい場合の設定 PDF オートコンバータ EX で使用しない場合 PDF コンバータ単体で使用する場合の説明 PDF コンバータのアン

SOC Report

2015 年 4 月 15 日に発表された HTTP.sys の脆弱性 ( ) へ の対応について 製品名 : バージョン : 対象プラットフォーム : カテゴリ : iautolaymagic すべてすべて Web アプリ この度 マイクロソフト社製品において緊急度の高い脆弱性 (CV

HULFT Series 製品における Javaの脆弱性(CVE )に対する報告

Windows Server 2003 におけるPrint Manager V6.0L10の留意事項

楽2ライブラリ クライアントサーバ V5.0 体験版 クライアントOS利用時におけるIIS設定手順書

共有フォルダ接続手順 1 共有フォルダ接続ツールのダウンロード 展開 CSVEX のトップページから共有フォルダ接続ツールの zip ファイルをダウンロードします ダウンロードした zip ファイルを右クリックして すべて展開 を選択します (Windows 環境では zip ファイルを解凍しなくて

2. 動的コンテンツとは動的コンテンツとは Web ブラウザからの要求に応じて動的に Web ページや画像などを生成する Web コンテンツのことをいいます Web で利用するサーチエンジンやアクセスカウンタ等は この仕組みを用いています 動的コンテンツは大きく次の二つに分類されます (1) Web

HeartCoreインストールマニュアル(PHP版)

インターネット EDI システムを使用する前の準備 目次 動作環境について... 2 Internet Explorer7.0 / 8.0 をご利用の場合の設定方法... 3 [1] インターネット EDI システムを利用するための標準的な設定... 3 [2] ブラウザ型で帳票を利用する場合に必要

Windows PowerShell 用スクリプト形式編 改版履歴 版数 日付 内容 担当 V /4/1 初版 NII V /2/26 動作環境の変更に伴う修正 NII V /8/21 タイムスタンプ利用手順の追加 NII 目次 1. コード署名用証明

1 目次 本書の構成 2 体験版申請用総合ソフトの機能 3 申請用総合ソフトとの相違点 体験版申請用総合ソフト ver.3.0 は, 本番用の申請用総合ソフト (3.0A) の機能に擬似データを加えたものです

k_seminar_hands_on_for_linux_beginner.pptx

HeartCoreインストールマニュアル

Microsoft Word - 推奨環境.doc

1. 信頼済みサイトの設定 (1/3) この設定をしないとレイアウト ( 公報 ) ダウンロードなどの一部の機能が使えませんので 必ず設定してください 1 Internet Explorer を起動し [ ツール ]-[ インターネットオプション (O)] を選択します 2 [ セキュリティ ] の

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開

PowerPoint プレゼンテーション

Vista IE7 ブラウザの設定手順

使ってみよう! 平成 30 年 9 月国税庁

本当はこわいエンコーディングの話 とみたまさひろ 東京 Ruby 会議 本当はこわいエンコーディングの話 Powered by Rabbit 2.0.6

パソコンバンクWeb21 操作マニュアル[導入・事前設定編]

リティ向上のため Windows7 SP1 をご使用することをお薦めいたします (KB は含まれています ) *3 電子証明書をご利用する場合は Internet Explorer8.0/Internet Explorer9.0 の 64bit 版は 推奨環境対象外となります *4 古い

4 Mule(Emacs)

SMB送信機能

実験 5 CGI プログラミング 1 目的 動的にWebページを作成する手法の一つであるCGIについてプログラミングを通じて基本的な仕組みを学ぶ 2 実験 実験 1 Webサーバの設定確認と起動 (1)/etc/httpd/conf にある httpd.conf ファイルの cgi-bin に関する

説明書

eYACHO 管理者ガイド

Ver1.40 証明書発行マニュアル (Export 可能 ) Windows 10 InternetExplorer 2018 年 3 月 14 日 セコムトラストシステムズ株式会社 Copyright SECOM Trust Systems CO.,LTD. All Rights Reserve

intra-mart QuickBinder Ver.5.0 リリース ノート 第 4 版 2016/7/15 1. バージョンアップ内容以下にこのバージョンで変更になった点を列挙します なお 各機能の詳細に関してはマニュアルを参照して下さい また 各機能の設定方法に関しては 操作説明書またはセット

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

計算機概論

はじめに このマニュアルは BACREX-R を実際に使用する前に知っておいて頂きたい内容として 使用する前の設定や 動作に関する注意事項を記述したものです 最初に必ずお読み頂き 各設定を行ってください 実際に表示される画面と マニュアルの画面とが異なる場合があります BACREX-R は お客様の

Si 知識情報処理

Microsoft Word - 13_ver6_Win7SP1.doc

リバースプロキシー (シングル構成) 構築手順

Microsoft Word - dotMZ_Users_Guild_JP.docx

2006

PowerPoint プレゼンテーション

SMB送信機能

目次 1. はじめに WEB インタフェース... 4 アクセス方法... 4 操作方法 FTP クライアント FFFTP(WINDOWS) インストール方法 アクセス方法 操作方法 CYBERD

目次 1 環境 バージョン インストール環境 インストール手順 前提条件 CentOS SSHD の設定 VSFTPD の設定 コンテンツ管理 CGI のイ

Ver.0 目次. はじめに.... 証明書の発行 ( ダウンロード ) 手順... 付録 A. ルート証明書無しでの証明書の発行 ( ダウンロード ) 手順... 5 付録 B. ブラウザの設定... Copyright 04 SECOM Trust Systems CO.,LTD. All Ri

第 4 版 2019 年 05 月

intra-mart EX申請システム version.5.4 提出依頼機能 リリースノート

目次 1. 概要 動作環境

<8B9E93738CF092CA904D94CC814090BF8B818F B D836A B B B816A2E786C73>

ESET Smart Security 7 リリースノート

8. Windows の補足情報 コマンドの使用についての説明です Windows からのファイル直接印刷 Windows でコマンドを使用したファイル直接印刷の方法についての説明です この機能はネットワーク接続をしているときに使用できます この方法で印刷できるファイルは 本機が搭載しているエミュレ

IM-SecureSignOn

作成日 :2017/03/29 ******************************************************************************* ** ** ** FUJITSU Cloud Service K5 ** ** ** ** ソフトウェアカフ

目次 1. はじめに 証明書ダウンロード方法 ブラウザの設定 アドオンの設定 証明書のダウンロード サインアップ サービスへのログイン

Microsoft PowerPoint - Userguide-SyoninMail-v1.0.ppt

V5.0 V4.2 から V5 への 変更点 1.1 版 2010 年 03 月 26 日

SMB送信機能

AquesTalk for WinCE プログラミングガイド

C#の基本

memcached 方式 (No Replication) 認証情報は ログインした tomcat と設定された各 memcached サーバーに認証情報を分割し振り分けて保管する memcached の方系がダウンした場合は ログインしたことのあるサーバーへのアクセスでは tomcat に認証情報

目次 1. 本書の役割 Windows Agent サポート OS とエディション サポート言語 Agent 稼働前提条件 Azure SDK リリース済み Windows Agent のサポート

PowerPoint プレゼンテーション

( ) Shift JIS ( ) ASCII ASCII ( ) 8bit = 1 Byte JIS(Japan Industrial Standard) X 0201 (X ) 2 Byte JIS ISO-2022-JP, Shift JIS, EUC 1 Byte 2 By

Microsoft Word - HGWEB_Defender_クリーンアップツール_説明書_Rev.1.00.doc

グーグル検索マクロの使い方

Another HTML-lint 導入マニュアル(JSP)版

HeartCore(PHP 版 ) インストール手順について説明いたします なお 本資料は 例として下記内容を前提として説明しております 環境情報 対象 OS: Linux ( ディストリビューション : Red Hat Enterprise Linux Server) APサーバ : Apache

Copyright 2014 NTT DATA Corporation 2 INDEX 1. 一括請求 Assist とは 1-1. でんさいに係るサービスの関係性 1-2. 一括請求 Assist の必要性 1-3. 一括請求 Assist の特長 2. 機能紹介 2-1. 一括請求 Assist

更新用証明書インポートツール 操作マニュアル 2011 年 10 月 31 日 セコムトラストシステムズ株式会社 Copyright 2011 SECOM Trust Systems CO.,LTD. All rights reserved. P-1

VBコンバータ利用方法

システム利用前の準備作業2.1 準備作業の流れ 準備作業の流れは 以下のとおりです 2必要なものを用意する 2.2 パソコンインターネット接続回線 E メールアドレス 2.2-(1) 2.2-(2) 2.2-(3) 当金庫からの送付物 2.2-(4) パソコンの設定をする 2.3 Cookie の設

MC3000一般ユーザ利用手順書

対応 OS について WindowsOS への対応状況 2010 年 10 月時点で用意させていただいている CiscoVPN ソフトウェアですが 対応している OS は WindowsXp WindowsVista Windows7 となります また WindowsVista Windows7 の

サイボウズ Office 10「インストール」

Transcription:

Apache-Tomcat と 冗長な UTF-8 表現 (CVE-2008-2938 検証レポート ) 2008 年 08 月 26 日 Ver. 0.1

目次 1 調査概要 2 2 UTF-8 とは 3 3 CVE-208-2938 4 3.1.( ピリオド ) について 4 4 CVE-208-2938 と3Byteの冗長な UTF-8 表現 5 5 CVE-208-2938 と /( スラッシュ ) について 5 6 CVE-208-2938 とファイル読み出しに関する実験結果 6 6.1 Apache-Tomcat 5.5.26 の場合 6 6.2 Apache-Tomcat 6.0.16 の場合 9 7 CVE-208-2938 とOSCommandInjectionに関する実験結果 12 7.1 Apache-Tomcat 5.5.26 の場合 13 8 Windows 上の Tomcat での /( バックスラッシュ ) の冗長な UTF-8 表現 18 9 参考 19 10 履歴 19 1

1 調査概要 Apache-Tomcat に存在する UTF-8 の冗長表現を使った DirectoryTraversal 問題について 調査し た結果をここに記す UTF-8 の冗長表現を使った手法であること 3Byte の冗長な UTF-8 表現でも 問題が発現すること.( ピリオド ) の冗長な UTF-8 表現だけではなく /( スラッシュ ) の冗長な UTF-8 表現でも 問題が発生する Windows 上の Tomcat では ( バックスラッシュ ) の冗長な UTF-8 表現である %c1%1c では発現しない Apache-Tomcat 上で CGI( バイナリ ) を実行している場合 任意のコマンドが実行される危険性があること 条件によっては より危険性の高い コマンド実行 という危険性がある 2

2 UTF-8 とは UTF-8(8-bit UCS Transformation Format) とは UNICODE の表現法のひとつである 1Byte の UTF-8 は ASCII コードと同一になるように設計されている 以下のように 1Byte の文字 (7bit ASCII と 8bit 文字 ( 半角カタカナなど )) と 2Byte の文字 (UNICODE の漢字など ) のビット列を定義する 1Byte us-ascii 文字 0zzzz 1Byte 8bit 文字 yzzzz 2Byte 文字 xxxxx yzzzzzzz ただし (x,y,z) は (0 or 1) とする これらの文字は以下のようなエンコード法で表現することで UTF-8 表現となる 1Byte UTF-8 表現 2Byte UTF-8 表現 3Byte UTF-8 表現 0zzzz zzz1byte us-ascii 文字 110oo ooz 10zzzzzz1Byte us-ascii 文字 110oo oyz 10zzzzzz1Byte 8bit 文字 1110 oooo10oooooz 10zzzzz1Byte us-ascii 文字 1110o ooo 10ooooyz10zzzzz1Byte 8bit 文字 1110x xxx 10xxxyz10zzzzz2Byte 文字 ただし o は 0( ゼロ ) を示す (UTF-8 上では (0 or 1) の領域であるが ) しかし 赤で書かれた部分については より短いバイトで表現できるため 冗長であり 現在は仕様として 禁止されている この冗長表現を 本文以降では 冗長な UTF-8 表現 と呼ぶことにする 3

3 CVE-2008-2938 3.1.( ピリオド ) について CVE-2008-2938 で指摘されている Apache-Tomcat に存在する UTF-8 の冗長表現を使った Directory Traversal 問題は.( ピリオド ) の冗長な UTF-8 表現を使うことで 発現して問題である 攻撃コード %c0%ae は 0xC0 と 0xAE という2Byte に URL デコードされる つまり 0xC0 11000000 0xAE 10101110 である これは 2Byte の冗長な UTF-8 表現であり 赤字の部分だけを抜き出し 上位ビットの 0 を省くと 00000101110 0x2E となる 0x2E は.( ピリオド ) の us-ascii 表現である 以上より %c0%ae は.( ピリオド ) と同義であるため %c0%ae%c0%ae は..( ピリオド二個 ) と同義になる (..( ピリオド二個 ) は 上位ディレクトリを示す ) このような冗長な UTF-8 表現によるセキュリティ問題は 過去に Microsoft の Web サーバ IIS に存在し た MS00-057 が有名である 4

4 CVE-2008-2938と 3Byteの冗長な UTF-8 表現 3Byte の冗長な UTF-8 表現でも CVE-2008-2938 の問題が発現した.( ピリオド ) つまり 0x2E の 3Byte の冗長な UTF-8 表現は 0xE0 0x80 0xAE となる (URL エンコードすると %e0%80%ae ) IDS でカスタム シグネチャを用意している組織などでは 3Byte の冗長な UTF-8 表現によって IDS 回 避が行われないように注意することを推奨する 5 CVE-2008-2938 と /( スラッシュ ) について /( スラッシュ ) は 0x2F である /( スラッシュ ) の 2Byte の冗長な UTF-8 表現は 0xC0 0xAF である また 3Byte の /( スラッシュ ) の冗長な UTF-8 表現は 0xE0 0x80 0xAE である /( スラッシュ ) の冗長な UTF-8 表現でも CVE-2008-2938 の問題が発現した 5

6 CVE-2008-2938 とファイル読み出 しに関する実験結果 以下の環境で 実験を行った CentOS 5.1 JDK 1.5.0_16 Apache-Tomcat 5.5.26 および Apache-Tomcat 6.0.16 6.1 Apache-Tomcat 5.5.26 の場合 図 6.1-1 : ウェブルートの a.htm の中身は HELLO その一つ上の非公開ディレクトリ上の a.htm の中身は DirTra Tomcat5.5.26 となっている CVE-2008-2938 を使って 非公開ディレクトリ上の a.htm が読み出せるかどうかがこの試験内容である 6

図 6.1-2 : ウェブルート /a.htm のアクセス結果 検査対象の Web サーバ (Tomcat) は正常に動作している 図 6.1-3 : 2Byte の冗長な UTF-8 表現に対しての結果 CVE-2008-2938 の指摘どおり再現している 7

図 6.1-4 : 3Byte の冗長な UTF-8 表現でも 問題の再現ができている事が確認できる 図 6.1-5 :.( ピリオド ) ではなく /( スラッシュ ) に対しての冗長な UTF-8 表現でも 問題の再現ができている事が確認できる 8

図 6.1-6 : /( スラッシュ ) の 3Byte な冗長な UTF-8 表現でも 問題の再現ができている事が確認できる 6.2 Apache-Tomcat 6.0.16 の場合 図 6.2-1 : ウェブルートの a.htm の中身は Tomcat6Top その一つ上の非公開ディレクトリ上の a.htm の中身は DireTra となっている CVE-2008-2938 を使って 非公開ディレクトリ上の a.htm が読み出せるかどうかがこの試験内容である 9

図 6.2-2 : ウェブルート /a.htm のアクセス結果 検査対象の Web サーバ (Tomcat) は正常に動作している 図 6.2-3 : 2Byte の冗長な UTF-8 表現に対しての結果 CVE-2008-2938 の指摘どおり再現している 10

図 6.2-4 : 3Byte の冗長な UTF-8 表現でも 問題の再現ができている事が確認できる 図 6.2-5 :.( ピリオド ) ではなく /( スラッシュ ) に対しての冗長な UTF-8 表現でも 問題の再現ができている事が確認できる 11

図 6.2-6 : /( スラッシュ ) の 3Byte な冗長な UTF-8 表現でも 問題の再現ができている事が確認できる 7 CVE-2008-2938 とOSCommand Injection に関する実験結果 以下の環境で 実験を行った CentOS 5.1 JDK 1.5.0_16 Apache-Tomcat 5.5.26 既定は Perl スクリプトであるが OS バイナリの実行プログラムの CGI を許可している設定の場合 Apache-Tomcat の動作権限で許可された任意のプログラムが実行させられる危険性がある 12

7.1 Apache-Tomcat 5.5.26 の場合 図 7.1-1 : スクリプトを用意した Web ルートの test-pl.cgi の内容 Perl スクリプトである 図 7.1-2 : /cgi-bin/test-pl.cgi の結果 Tomcat の CGI (Perl) が正常に動作していることが分かる 図 7.1-3 : /sbin/ifconfig の結果 Perl スクリプト用の Tomcat CGI の設定ではバイナリの起動はできない ファイルの存在有無が分かる程度である 13

図 7.1-4 : 図 7.1-3 と異なり存在しないファイルを要求した場合 図 7.1-5 : 次にバイナリを用意した Web ルートの test.cgi と三階層上の test.cgi である 図 7.1-6 : /cgi-bin/test.cgi の結果 Tomcat が CGI( バイナリ ) を正しく処理していることが確認できる 14

図 7.1-7 : /cgi-bin/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/test.cgi の結果 三階層上位の test.cgi が呼び出されていることから 任意の OS Command を実行できると確認された 図 7.1-8 : /sbin/ifconfig を呼び出した結果 15

図 7.1-9 : /usr/bin/id を呼び出した結果 どうも 空行を返さないコマンドは 出力されないようだ 図 7.1-10 : 図 7.1-9 の結果から ファイルに出力させようと考えた まずは /tmp/a.txt がないことを確認した 図 7.1-11 : 図 7.1-10 の次は / b i n / s h -c /usr/bin/id>/tmp/a.txt を実行した 16

図 7.1-12 : 図 7.1-11 後に /tmp/a.txt にアクセスすることで 一行だけ返すコマンドの実行結果も取得することができる 図 7.1-13 : 上記の方法とは別の視点で sh コマンドを使い かつ echo コマンドで空行を出力させることで pwd と id の二つのコマンドの実行結果を表示させることもできる 17

8 Windows 上の Tomcat での /( バッ クスラッシュ ) の冗長な UTF-8 表 現 ( バックスラッシュ ) は 0x5c である ( バックスラッシュ ) の 2Byte の冗長な UTF-8 表現は 0xc1 0x1c となる MS-Windows 版の Apache-Tomcat で再現させてみたが この表現では CVE-2008-2938 は発現しなかった 以下の環境で 実験を行った Microsoft-WindowsXP SP3 JDK 1.6.0_06 Apache-Tomcat 5.5.26 図 7.1-1 : Windows 上の Tomcat 5.5.26 で検証したが この図のように 404 エラーとなり 問題は発現しなかった 18

9 参考 CVE-2008-2938 http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2008-2938 milworm.com http://www.milw0rm.com/exploits/6229 Tomcat のディレクトリトラバーサルの脆弱性に関する検証レポート http://www.nttdata-sec.co.jp/column/report20080813.pdf Tomcat にディレクトリトラバーサル脆弱性 NTT データ セキュリティが注意喚起 http://www.atmarkit.co.jp/news/200808/13/tomcat.html 正規化エラーによる ファイルへの誤ったアクセス権の適用 の脆弱性に対する対策 (MS00-057) http://www.microsoft.com/japan/technet/security/bull etin/ms00-057.mspx MicrosoftISandPWSExtendedUnicodeDirectoryTraversalVulnerability http://www.securityfocus.com/bid/1806 10 履歴 2008 年 08 月 26 日 :ver0.1 仮公開 以 上 19