Experiment 25
圧縮ファイルを開ける前に調べる
ZIP・gzip・tar・tar.gz の中身を、展開せずに一覧できます。ファイル名・大きさ・日付・圧縮方式が分かり、1つずつ取り出すこともできます。パスワード付きZIPでも名前と大きさは読めるので、パスワードを打つ前に何が入っているかを確かめられます。実行ファイル、「請求書.pdf.exe」のような二重拡張子、展開先の外へ書き出そうとする「../」、拡張子を逆さに見せる制御文字、展開すると異常に膨らむZIP爆弾を見つけて知らせます。Windowsで作られたZIPの日本語名(Shift_JIS)も読める形で表示します。7z・xz・zstdは形式の判定のみ。ブラウザの中だけで読み、ファイルをアップロードしません。
Input
Notes
これはウイルス検査ではありません。 見ているのは名前と構造だけで、中身が安全かどうかは判定していません。 「警告が出なかった」は「安全だった」という意味ではありません。 逆に、名前の時点でおかしいものは中身を見るまでもないので、そこで気づくための道具です。
パスワード付きZIP(いわゆるPPAP)を作る機能は置きません。 パスワードを別メールで送る方式は、経路が同じなので守りになっておらず、 受け手側でウイルス検査を素通りさせる副作用のほうが大きいためです。 この道具は受け取ってしまったものを開ける前に確かめる側に立っています。
使い方とメモ
- ZIPを選ぶと、展開せずに中身の一覧を出します。ファイル名・大きさ・日付・圧縮方式が分かります。ZIP・gzip(.gz)・tar・tar.gz に対応しています。
- パスワード付きのZIPでも、名前と大きさは読めます。暗号化されるのは中身だけで、目録は暗号化されないためです。パスワードを打つ前に、何が入っているかを確かめられます。
- 危なそうなものを拾って知らせます。実行ファイル、「請求書.pdf.exe」のような二重拡張子、展開先の外へ書き出そうとする「../」、拡張子を逆さに見せる細工、展開すると異常に膨らむもの。
- Windowsで作られたZIPの日本語名も読めます。Macの標準の解凍で文字化けするのは、名前がShift_JISで入っているためです。ここでは読める形に直して表示します。
- 一覧から1つずつ取り出せます。取り出したものはCRCで壊れていないか確かめています。
- 7z・xz・zstd・bzip2 は形式の判定だけです。展開のしくみを自前で持つ必要があり、中身は読めません。RARは圧縮のしくみが公開されていないので扱いません。
- 選んだファイルはブラウザの中だけで開いています。サーバへ送っていません。心当たりのない添付ファイルこそ、どこにも渡さずに調べるべきものです。
For your business
こういうものを、御社向けにも作れます。
ちょっとした業務ツールから、予約システムのような本格的なWebシステムまで。
「こんなこと、できる?」という段階でも、お気軽にご相談ください。