2009-07-29 13 views
1

に違反:私は手動で変更したときにことを見て驚きましたニューヨークタイムズから<a href="http://homedelivery.nytimes.com/HDS/learnMorePopUp.do?mode=common.learnMorePopUp&productId=NDS&prodRate=7.40" rel="nofollow noreferrer">this page</a>をチェックしたWeb開発のルール

http://homedelivery.nytimes.com/HDS/learnMorePopUp.do ?mode=common.learnMorePopUp
&productId=NDS
&prodRate=7.40

prodRateパラメータ、更新されたページ:

  • 紹介料率。
  • 定期購読率。

自分で試してみてください!今、私はあまりWeb開発をしていませんが、おそらくこれは起こらないはずです。だから、私は不思議に思っています:

  • どのような実装でこの現象が起こるでしょうか?
  • このような重要なパラメータをエンドユーザーから隠すようにページを変更する方法はありますか?
+4

http://thedailywtf.com/Articles/So-You-Hacked-Our-Site!.aspx – Beska

+0

改造後のページではどうすればいいですか?このページでこれらの値を送信することはできません。 – Steven

答えて

1

私は想像することができる唯一の答えはあまりにも照明されていないとしてあなたは、あなたの質問を言い換えるする場合があります

Qを:実装はどのようなこのような現象を発生させるでしょうか?
A:ユーザー入力が内部の信頼できる動作を制御できるもの。 「なぜ誰かがこれをするのだろうか」と尋ねるなら、私はたいていそれを誤解とみなしていました。コード作成者は、一般的に、ユーザが(a)値を制御し、および/または(b)それが存在することを発見することができることを認識していない。ほとんどの場合、リダイレクトとして実装されていることがわかりました。ボタンをクリックすると、サーバーは金額を決定し、値を保持する新しいページにブラウザをリダイレクトします。

Q:エンドユーザーからの重要なパラメータ?
A:エンドユーザーが編集可能な方法で値を保存しないでください。サーブレットエンジンのようなサーバーで利用できるストレージがある場合は、セッションコンテキストに格納します。良いセッションメカニズムがない場合は、署名付きまたはHMACのCookieに格納することができます。

3

おそらく表示用にクエリ文字列の値を読み取っているだけです。実際の注文処理がその値に基づいているのではなく、むしろ製品IDを使用して検索していることを非常に疑う(またはむしろ、本当に願っています)。

+0

誰かがこの実験を実行する必要があります! (私ではない) – Beska

1

さて、実際に注文してみましたか?バックエンドの入力を検証するかもしれません。

その他のオプションについては、情報を投稿したり、情報をクッキーに入れることが考えられます。どちらも正確にはばかな証拠ではない。投稿で新しいウィンドウを開くことはできず、ユーザーはCookieをオフにすることができます。

+0

まだこのページにはリンクがありません。しかし、すべてのプログラミングがこれのようなものなら、私はいくつかの無料のNYTを手に入れます! –

1

このページから注文することはできませんので、ここにセキュリティホールは表示されません。ええ、それはチーズですが、実際の注文フローがあまりうまく構築されていなければ、私ははるかに懸念しています。 1つの場所でレートを更新して値を渡すのは簡単です。その結果、どのようになったのかがわかります。

私たちはかなり同じことをする評価ページをいくつか持っています。彼らは実際の購買フローに接続されていないので、パラメータは問題ありません。クライアントがURLを編集して自分自身を混乱させたいのであれば、実際の注文フローはすべてデータベース駆動であり、ユーザーの編集は決して信頼されません。

1

私はこのような悪い練習をすべて見つけました。私はウェブサイトがクエリーストリングの中でSQLクエリー全体を渡しているのを見てきました。それはです。私はまた、クエリ文字列で価格を渡すオンラインショップを見つけることを覚えています。私は負の値に変更し、十分に、チェックアウト時に価格はマイナスでした!私はそれ以上は進んでいませんでした。技術的には詐欺であり、リスクを負う価値はありません。

+1

実際には、技術的には、指定された量の絶対値に等しい量の製品が必要です。 – quillbreaker

関連する問題