やっほー
やばくない?!hiddenパラメータを書き換えてみた!

やばくない?!hiddenパラメータを書き換えてみた!

やばばばいいいいいいんんん↑↑↑(笑)

さて、前回はHTTPの基本を理解しました。

前回記事

セキュリティなどの知識を知る上で重要なもの、それがHTTPです。 HTTPを理解することは、セキュリティを理解することにつながります。 今回は、HTTPの基本を知るために、サーバへのリクエスト・レスポンス通信を具体的に見ていきた[…]

HTTPとは?リクエストとレスポンスをコードで理解しよう!

 

今回は、実際に画面からパラメータを送信しリクエスト・レスポンスを覗いてみようと思いますが、ここで問題になるのが「hidden」です。

hiddenはよく隠し項目として画面に保持するために使用しますが、実はこのhiddenパラメータは書き換えが可能です

hiddenパラメータの書き換えを体験することでセキュリティを身近に感じることができると思うので一緒に勉強していきましょう!

泉アイコン
この記事を書いた人
(泉浩兵)

当ブログ管理者
・エンジニア
・新プログラミング言語『Zero』開発
・保有資格約20個
・投資好き(日本株・仮想通貨)
・オンラインカジノ好き(ルーレット)
・47都道府県制覇目指し中
⇒Twitter(@izumin_0401)
⇒Instagram(@izumin0401)

hiddenパラメータの書き換えをするための環境

hiddenパラメータを書き換えるために、「OWASP ZAP」というツールを利用します。

「OWASP ZAP」の使い方は本記事では割愛します。

関連記事

脆弱性診断、したいねん、俺 ということで、脆弱性診断の方法と、ツールである「OWASP ZAP」の使い方を解説します! きも男 いっくよーん。 [afTag id=15791] OWASP ZAPインストール手順 […]

【OWASP ZAP】使い方と脆弱性診断のやり方を解説!

hiddenパラメータの書き換え

入力画面

上のような画面があるとします。

 

入力画面(入力後)

画面に値を入力します。

 

確認画面

確認画面です。

さて、この確認画面ですが、実際のソースコードは以下のようになっています。

ソースコードは、「右クリック」⇒「ページのソースを表示」から見ることができます。

 

確認画面(ソースコード)

このソースコードに「hidden」と記載のある箇所がありますが、これがいわゆるhiddenパラメータです。

実際に送信される値を隠し項目として画面に保持しています。

今からやることは、このhiddenパラメータをWebサーバに送信される途中で「OWASP ZAP」内でいったん処理を掴み、パラメータを変更し、Webサーバに送信するというものです。

 

OWASP ZAP(ブレークポイント)

画面の登録ボタンを押す前に、「OWASP ZAP」のブレークポイント設定を行います。

これにより、「OWASP ZAP」内でいったん処理を掴むことができます。

 

hiddenパラメータ

処理を掴んだ後のパラメータの内容です。

画面から渡されたhiddenパラメータの値が表示されていますね。

日本語が文字化けしていますが、これは「OWASP ZAP」のバグです(笑)

 

hiddenパラメータ書き換え

次に、このhiddenパラメータの値を変更します。

 

OWASP ZAP(ブレークポイント実行)

中断していた処理を実行します。

 

登録後画面

すると、登録内容が「田中」になっていますね。

画面からは「いずみん」で送信しましたが、「OWASP ZAP」で処理を中断し、hiddenパラメータの内容を書き換えることで、このような結果になったわけです。

hiddenパラメータのメリットとは

さて、hiddenパラメータは「OWASP ZAP」などのツールを使うことで書き換えが可能ということは理解できました。

では、このhiddenパラメータのメリットは何でしょうか?

情報漏洩や第3者からの書き換えに対しては堅牢

hiddenは利用者からの書き換えはできますが、それ以外からの書き換えに対しては堅牢です。

逆にセッション変数やクッキーなどはセッションIDの固定化攻撃に弱いことがあります。

つまり、利用者自身によっても書き換えられては困る認証や認可に関する情報はセッション変数に保存すべきですが、それ以外はhiddenパラメータに保存する方が良いことになります

まとめ

hiddenパラメータは個人的にセキュリティ観点から見てあまりよろしくないと思っていましたが、他の手法をとっても欠点はあるわけで、それぞれ一長一短があります。

それぞれのメリット・デメリットをしっかり理解しておけばよさそうですが、hiddenパラメータ自体は悪いものではないということが理解できたので収穫でした。

また、今回はhiddenパラメータの書き換えを実際に行えたので勉強になりました。

やはり実際に動かして体験するのは違いますね。

きも男
ばいばいきーん

おすすめ本

僕がセキュリティの勉強をする際に購入した本になります。

この本があれば、セキュリティの基礎は理解できるのでおすすめですよ!

やばくない?!hiddenパラメータを書き換えてみた!
フォローしてもらえると泣いて喜びます