質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

1304閲覧

hiddenパラメータ以外の書き換えについて

aae_11

総合スコア178

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2019/09/24 05:45

編集2019/09/24 05:50

安全なwebアプリケーションの作り方第2版の3章を読んでいたのですが、疑問な点があった為、質問させて貰いました。
具体的には、input.phpのform内のテキストボックスやラジオボタンで何かを入力し、それをconfirm.phpへpost送信する際、OWASP ZAPというプロキシツールで入力したテキストボックスの値やラジオボタンの値を書き換えることができてしまいます。
自分は、これらの書き換えは「hidden」パラメータでなければ書き換えられないと思っていたのですが、書き換えられるということはhiddenパラメータ以外でも書き換えなどを許してしまうということなのでしょうか...?
どうも、hiddenパラメータは書き換えが可能で危険だとの情報を目にすることが多かった為、何故hiddenパラメータばかり着目されるんだろうといった点も疑問な点ではありました...

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

自分は、これらの書き換えは「hidden」パラメータでなければ書き換えられないと思っていたのですが、書き換えられるということはhiddenパラメータ以外でも書き換えなどを許してしまうということなのでしょうか...?

はい。hiddenであってもそうでなくても、POSTの際には同様に送信されますので、同じやり方で書き換えが可能です。

投稿2019/09/24 05:50

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2019/09/24 05:53

> 何故hiddenパラメータばかり着目されるんだろう hidden以外はユーザー入力を受け付けるものですので、「正常な動作でも変わりうる」ものです。一方で、hiddenはふつうのユーザー操作では書き換わらないので、「書き換えられる」ことを想定せずにプログラムを組んでしまうことがありえます。
aae_11

2019/09/24 09:51 編集

ご回答どうもです! >hiddenはふつうのユーザー操作では書き換わらないので、「書き換えられる」ことを想定せずにプログラムを組んでしまうことがありえます。 ここの部分非常に納得できました!
guest

0

以下のポイントに絞って回答します。

どうも、hiddenパラメータは書き換えが可能で危険だとの情報を目にすることが多かった為、何故hiddenパラメータばかり着目されるんだろうといった点も疑問な点ではありました...

そのものずばり、「hiddenは危険」という記事がIPAから公開されていたからだと思います。現在はアーカイブ扱いですが、以下から読むことができます。

1-5. hiddenは危険(セッション変数を利用しよう)

「hiddenは危険」という見出しの記事が、ほかならぬIPAから公開されていたわけで、その影響力は絶大であったと思います。

しかしながら、この記事、よく読むとツッコミどころ満載です。つまるところサンプルプログラムの問題は、適切なアクセス制御ができていないことが問題で、そこを区別することなく、hiddenそのものが危険という誤った印象を与えてしまいました。

私の本をお読みいただいているとのことですが、当該の箇所は、前述の「hiddenに対する誤った印象」を払拭することも念頭において書いたものです。

投稿2019/09/24 12:29

編集2019/09/24 12:36
ockeghem

総合スコア11701

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aae_11

2019/09/27 06:22

ご返信遅れてしまい申し訳ありません。 ockeghemさんのご指摘部分に注意しつつ、貼って頂きました、「1-5. hiddenは危険(セッション変数を利用しよう)」こちらのリンク先を読んでいきたいと思います。
guest

0

受ける側の仕組み次第

バリデートして通過したデータは普通はセッションに入れ込んじゃいます
そこに供するたデータが送られてきたとき、上書きするか無視するかによって処理が違います

投稿2019/09/24 06:04

yambejp

総合スコア114829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問