ITmedia NEWS > セキュリティ >
セキュリティ・ホットトピックス

え? PHPファイルを登録できるのはまずいでしょ…… Webアプリの「アップロード機能」に潜む“あるある”ワナ“典型的やられサイト”で学ぶセキュリティのワナ(3/3 ページ)

» 2023年12月22日 15時00分 公開
[谷井将人ITmedia]
前のページへ 1|2|3       

上野 もう一つはレースコンディションだね。何回か前に会員登録機能の実装をやってもらったんだけど覚えているかな?

参考記事:え? 同じIDで登録できる? コンビニ証明書で話題「同時処理」の危険性

荒井 はい。確認が甘いと、複数人が同じIDで登録できてしまったりと意図しない挙動が起きるという話がありました。

上野 今回のファイルアップロードでも似たようなことが起きたりする。複数人が同じ名前の異なるファイルを同時に登録すると、これもまた意図しない挙動が起きる可能性がある。

上野 例えば、AさんとBさんが同時に「戸籍証明書.PDF」をアップロードしたとしよう。この戸籍証明書.PDFは同じファイル名だけど、AさんBさんそれぞれの戸籍証明書だから中身は別だ。これを実際に同時にアップロードすると……できた。Aさんは自分の戸籍証明書.PDFを開いたつもりなのに、Bさんの戸籍証明書が表示されてしまった。

荒井 情報漏えいだ!

上野 そうだね。どこかで意図しない挙動が起きて、AさんのデータがBさんのデータに上書きされているようだ。これも直しておこう。

荒井 ダウンロードには問題ないですか?

上野 実はここまでの問題って、ダウンロード機能があるから発生しているんだよね。IT業界にいる人なら分かると思うけど、ここまでに出てきた「添付ファイルを開く」「戸籍証明書.PDFを開く」という操作って「ダウンロードする」とは言っていないけど、データのダウンロードをしているよね。

荒井 ダウンロードしないと開けないですもんね。

上野 そう。「開く」という操作をしなければPHPコマンドは実行されなかったし、他人の戸籍証明書を誰かが見ることもなかった。アップロードとダウンロードは一体なんだよね。

荒井 よく分かりました。では、指摘箇所直してきます!

上野 頑張れ〜〜。

──しばらくして……

荒井 できました!

上野 OK! じゃあ次回はいよいよ最終回だよ。気を引き締めていこう。

アップロードを悪用すれば結構何でもできる

 アップロード機能というとそんなに複雑な機能には聞こえないかもしれない。しかし、厳しい制限がないとどんな形式のファイルでも取り扱えてしまう機能と考えるとその危険性が分かるだろう。

 「PHPやHTMLファイルをアップロードできるのは絶対ダメですが、他だったらいいのかというとそうでもありません。例えばドキュメントファイルの中でもマクロを有効にできるもの(DOCMファイルなど)であればウイルスが仕込まれている可能性もあるので、極力制限した方がいいです」(徳丸さん)

 例えば2020年9月ごろから急速に拡大したマルウェア「Emotet」もドキュメントファイルなどにマクロとして潜んでいた。アップロード機能があるシステムを作る場合は、ウイルス対策ツールによるチェックを付けておくのも安全のためには欲しい対策の一つといえる。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.