権限の不備の例を動画で解説!【デモ動画シリーズ第3回】
脆弱性のデモ動画作ってみたよ、3回目の今回は「権限の不備」です。
この動画シリーズの記事はこちら
- 第1回「クロスサイトスクリプティング(XSS)の例を動画で解説!」
- 第2回「SQLインジェクション の例を動画で解説!」
- 第3回「権限の不備 の例を動画で解説!」←本記事
- 第4回「パストラバーサル の例を動画で解説!」
権限の不備って何だろう?と思いませんか?
サイトの管理につながる「更新や削除」の権限付与は管理者だけなど適切な範囲で設定して、他の多くの検索するユーザーには「参照だけ」の権限付与にとどめておく。こうした権限付与の適切な設定を抜かってしまっている状態のことです。
- 権限の不備があった時、どんな感じで攻撃されてしまうんだろう?
- 実際に攻撃されていく様子を見てみたいんだよなぁ
ワタクシもちゃじ、常々思っております。
1回目と2回目で味を占めたもちゃじは、先輩に権限の不備のデモ動画も作っていただきました。いやだって、動画だと実際に動いているので分かりやすいじゃないですか。
今回も、動画と文章の両方を同じ内容でご用意しましたので、動画派の方、テキスト派の方、それぞれお好みの方をご覧ください。もちゃじは動画でイメージして、テキストで復習派です。
注意事項
この記事では、脆弱性への理解を深めていただくことを目的に権限の不備をついた具体的な攻撃手順や内容を紹介しています。ここで紹介していることを実際にお試しになる場合は、一般公開されていないご自身で開発したWebサイトでお試しください。一般公開されている、もしくは他者のWebサイトに対して、行うことのないようにお願いいたします。
権限の不備のデモ、動画で解説
権限の不備のデモ、文章で解説
※以下、動画と同じ内容です。
「権限の不備」とは、権限のない他のユーザーの情報を盗み出したりする非常に危険な脆弱性の一つです。情報漏えいの他、データの改ざんやデータの破壊などを招く恐れがあり、広範囲にわたって被害が及ぶ危険性があります。
このデモでは、「通信をインターセプトして改ざん、サイトに登録されている他のユーザー情報を抜き取る」ことを行います。
では、実際に見てみましょう。
1. ターゲット:フルーツショップに登録している他のユーザー情報
このWebサイトは、デモ用に開発したものです。フルーツを購入できる「架空のフルーツショップ」の通販サイトです。このサイトを利用するユーザーは、届け先として住所を登録しています。
自分の登録情報を確認するために、マイページに行ってみましょう。このように、登録してある住所などの個人情報を確認することができます。
2. マイページに権限の不備あり。攻撃を仕掛ける
実は、このマイページには、権限の不備の脆弱性が存在しています。実際に、マイページからのリクエスト情報の一部を改ざんして、攻撃を仕掛けてみましょう。
リクエスト情報の改ざんには、ローカルプロキシツールの一つ「Burp Suite」と呼ばれるソフトウェアを利用します。これは無料でも使用することができるツールです。
このBurp Suiteの「インターセプト」と呼ばれる機能をオンにします。この機能により、ブラウザとサーバー間でやりとりしている通信を傍受して改ざんします。機能をオンにした状態で通信すると……
たくさんの情報が出てきましたね。これはマイページからサーバーへ送られるHTTPリクエストを傍受したものです。
攻撃者は、このリクエスト情報の中の「リクエストの送信先や送信しているパラメータの内容」から、マイページ情報を取得するリクエストかどうかを判断します。
一番下にユーザーIDがありますね。「”userid”:”demo”」です。
ここを、他のユーザーIDを推測して改ざんします。
「”userid”:”demo”」を、「”userid”:”test”」に変更してみます。
そして改ざんしたリクエストを送信します。
3.攻撃が実行される
その結果、「デモ太郎」さんのページなのに、他のユーザー「テスト花子」さんのページが出てきました。「テスト花子」さんの住所を表示させることができました。
以上が「権限の不備」の攻撃手法の一例です。
まとめ
今回は、権限の不備をついて、他のユーザー情報が抜き取るという脆弱性のデモを紹介しました。
マイページは、ログインしているユーザーの情報だけが表示される仕組みであることが望ましいです。自分自身の情報を表示することは、自分自身のみに権限が与えれている、と考えます。今回紹介したデモサイトの仕組みは、パラメータに基づいてユーザー情報を表示しているため、権限に不備があるということになります。
今回以外にも、さまざまなパターンの権限の不備による被害が考えられますね。管理者権限のユーザーだけに許可された機能やデータを一般のユーザが利用できてしまったり、データを改ざんされてしまったり、データの破壊などを招く恐れがあったり、広範囲にわたって被害が及ぶ危険性が考えられます。
権限を適切に付与する重要性が分かりますね。
今回出てきた用語
インターセプト | 横取り(する)、妨害(する)。通信においては、傍受(する) |
ふう、書き終えた
服がよごれるとか、手がべたべたになるとか考えずに、一心不乱にかぶりついてたあの夏の日を思い出すタイプではなく、クーラーの効いた部屋で、フォークでいただくタイプのおしゃれスイカですね(フルーツショップのトップページ)。
ライター/もちゃじ
IT業界に縁なく秘書畑をさすらい、前職はインドで社長秘書。ほぼ日本語とパッションのみで乗り切ったずうずうしさはスキルの一つか。完全なインドア派ながらたまにふらりと旅に出る。行き場のない母性を持て余し、友人の犬を溺愛するもほえられる。体が硬く、インドでヨガティーチャーに笑われたことに深く傷つく一面も。
ITド素人の私がWebセキュリティについて学び、レベルアップしていく(予定です)様子をお届けします。学びを発信することで、少しでもWebセキュリティに関する「難しそう」というイメージが下がり、苦手意識のある方たちに届いたらうれしいです。