“典型的やられサイト”で学ぶセキュリティのワナ
非公開の予定が見えちゃってるね! Webアプリの「認可制御」に潜む“あるある”ワナ(2/3 ページ)
荒井 はい。今回のアプリでは「管理者」「一般ユーザー」「非ユーザー」がいます。管理者は、全ユーザーの登録情報や登録された全てのToDoイベントの閲覧と編集などができます。一般ユーザーは自分の登録情報や自分で登録したToDoの閲覧と編集ができますが、他人のToDoは全体公開されたものしか閲覧できません。非ユーザーは一般公開されたToDoの閲覧や会員登録しかできません。
上野 そうだね。他にもアカウント登録や管理者の追加などについても細かく定めてあったよね。
上野 そして、基本的な部分はできているようだね。じゃあ細かいところを見ていこうか。ToDo一覧から一つサンプルのToDoを開いてみる。そしてURLの部分を見てみると、末尾に「item=1」と書いてあるよね。
荒井 ありますね。
上野 これを、例えば「item=2」に書き換えてみる。すると2個目のToDoが表示された。ここまではひとまず問題ない。では、ここを「item=3」にしてみるとどうなる?
荒井 3個目のToDoが表示されます。誤動作はないですよね?
上野 誤動作はない。でもこの3個目のToDo、全体公開じゃないよね? 今は一般ユーザーとして操作しているから、本来は「item=3」にしてもこのToDoが見えちゃいけないんだ。
荒井 なるほど……。一般ユーザーには他ユーザーの非公開ToDoを閲覧する権限がないはずなのに、表示されてるってことは権限を正しく制限できてないってことですね。
上野 そうだね。これけっこう“あるある”なんだよね。今回もToDoの一覧ページではちゃんと非公開ToDoが表示されないように実装できてる。例えばここに非公開ToDoが見えちゃっていれば、さすがに誰でも気付くんだけど、URLからたどるのってアプリのUIを触ってもできないから考慮が漏れやすいっていう……。
荒井 なんてワナだ。
上野 で、これは法的な注意なんだけど、今の「item=n」の記述をいじって非公開の情報を閲覧するのは不正アクセス禁止法違反になるから基本的にはやっちゃだめだよ。パスワードなどで保護されたコンテンツを許可なく不正な手段で閲覧してるわけだからね。
荒井 でも悪意がなくて、偶然うつっちゃったって場合もありますよね?
上野 これ悪意の有無は関係ないんだよね。不正アクセス禁止法違反の成立要件には悪意の有無が含まれないから。Webアプリ側に脆弱性があろうとなかろうとダメ。脆弱性があるならサイバー攻撃していいなんてことにはならないしね。
荒井 悪意は要件になってないんだ……。
上野 じゃあ次の確認に移ろう。今度は管理者目線。このアプリに管理者としてログインすると、メニューの中に「会員一覧」が表示されるようになる。管理者にだけ与えられた権限だね。ここでは会員情報の閲覧や変更ができると。で、このページのURLをコピーするでしょ?
で、いったんログアウトして今度は一般ユーザーとしてログイン。さっきコピーしたURLを張り付けると……。
荒井 あーー表示されちゃった。認可の制御ミスですね。
上野 うん。これも一般ユーザーからは見えちゃいけない。「このページは存在しません」とか表示させるようにするのがいいかな。「現在の権限では閲覧できません」とかだとそのURLが存在していること自体はばれちゃうからね。
荒井 なるほど。情報は極力与えない。理解しました。
上野 じゃあ、他の指摘部分もまとめておくから、直してみようか。
荒井 分かりました!
──しばらくして……
上野 これがこうなって……。うん、これで大丈夫だね。
荒井 ありがとうございました!
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
PHP脆弱性“PoCフライング公開”の経緯、支援財団が公表 混乱広げた企業を名指しで批判
-
2
人に注射を打てる「サイボーグゴキブリ」の群れが、がれき下の被災者を救助? 実験成功率72%
-
3
カプコン、1177万件漏えい 不正アクセスで
-
4
AIに200万円渡してネットショップを1年運営させてみた──Alibabaの研究者らがシミュレーション 資産14倍の例も
-
5
高市総理、サイバーセキュリティの本を出していた しかも“PHP”から
-
6
旅行ゲーム「ワールドクエスト」、PHP脆弱性で即日サービス終了 「古い仕組みのため対策とれず」
-
7
高市総理「大至急、PHPパッチ適用を」Xで異例の要請 エンジニアは評価「経営層に伝わる」
-
8
コミックシーモア、流出は最大約420万件に メールアドレスや生年月日など 不正アクセスの経路特定・遮断は完了
-
9
「GitLab」に深刻度“最大”の脆弱性 認証なしで任意のコード実行の恐れ、修正版適用を CVSS「10.0」
-
10
大阪大、学生など7.8万人の情報漏えい NECが無断で協力会社とデータ共有
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR