|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
メソッド (ヘッダー/実際) |
結果 | コメント |
lh4/lh5 | × | 不正なファイルが作成される。 |
lh5/lh4 | ○ |
|
lh5/lh6 | × | 不正なファイルが作成される。 |
lh6/lh5 | × |
一般保護エラーとなる。 脆弱性利用の恐れあり。 |
lh6/lh7 | × | 不正なファイルが作成される。 |
lh7/lh6 | ○ |
|
h0/h1 形式が扱えます。
h2 ヘッダー形式書庫の取り扱いについては以下の制限が存在します:
+Lhaca では基本ヘッダーの SUM チェックしか行われず, ヘッダー CRC については作成も読込も行われません。 従って, h2 形式の全て, 多くの h1 形式, そして (Linux 上などで作成された) h0 形式の書庫については, ヘッダー改竄・破損の確認が行われません。 攻撃書庫の多くはヘッダー改竄を伴っていますので, そういった意味では危険性が高いと言えます。
+Lhaca ではメンバー (格納ファイル) についての CRC チェックが (実質) 行われません。 ルーチン自体は Lhaplus や 7-Zip 等と同じく「CRC エラーが発生した場合は, ファイルの削除を行わずエラーログの出力のみ行われる」ものになっていると予想されますが, ログの出力や表示が行われないため, チェックを行わない場合と全く同じ結果となってしまっています。 +Lhaca については, この点が一番大きな問題と言えそうです。
絶対パスをもつものや, 親ディレクトリーを示す ".." のパス情報をもつメンバーについては, 指定したディレクトリー配下へ展開が行われるように調整が行われます。
1000 文字といった長い名前をもったメンバー等の存在する書庫については, 展開されない (エラーログが出力される。) ようになっています。
これらの不正なパス情報等をもったファイルについては以下のとおりです:
不正内容 | 結果 |
絶対パス (/WORK/Test.TXT) |
冒頭の "/" を無視して, 展開先の配下へ展開する。 |
不正パス 1 (../../WORK/Test.TXT) |
"../" のパス情報を無視して, 展開先の配下へ展開する。 |
不正パス 2 (D/../../D/Test.TXT) |
"../" のパス情報を無視して, 展開先の配下へ展開する。 |
不正パス 3 (D/.../Test.TXT) |
そのまま展開しようとして失敗。 プラットフォームによっては ".." のパス情報として扱われてしまうので注意。 |
オーバーフロー (Long~700字~.txt) |
エラー扱いとして当該メンバーが無視される。 |
拡張子偽造 (Test.c ←40字→ .exe) |
実行されることがないため, そのまま展開される。 |