2008-10-20

http://anond.hatelabo.jp/20081020041605

はい! こんにちは! Hamachiya2ですよ!
いま、エガミくんの書き込みみながら、ざくっとソースみてみたよー。

XSSの対策ってね、ぼくもよくわかってないけど、
「出力時にエスケープする」っていうのが定石らしいよ。
でもエガミくんのやろうとしたのは「入力時のエスケープ」だね。

だから $_GET のところ(入力)で何かをするのではなくて…、
レスポンスのコーナーのところ。html変数埋め込んで echo してるとこ。
そこの全ての変数エスケープしちゃう方がいい感じかな。

その際に注意すべきは、html属性内(alt=ナントカとか、src=ナントカとか)に変数を埋め込んでいる場合は、ちゃんとクオートの類もエスケープする感じ?

echo '<img src="' . $hensuu . '" alt="ぺろぺろ" />';

とかなら、$hensuu はダブルクオートもエスケープだよ。
あ、htmlspecialchars ってダブルクオートはデフォルトで「&quot;」に変換されるんだっけ?
ちょっと試してみてね。

もし↓こんな風に、html属性のクオートにシングルクオートを使ってる場合だと…

echo "<img src='" . $hensuu . '" alt='ぺろぺろ' />";

これは

echo "<img src='" . htmlspecialchars($hensuu, ENT_QUOTES) . '" alt='ぺろぺろ' />";

こうする感じかな?

あと、サンプルコードには含まれていなかったけど、
本番の方だと、htmlheadの中でも変数つかってるよね。
たとえば、xxxで検索すると、titleタグメタタグにもxxxが入ってくる。
そのあたりも、とりあえず「表示しようとしてる箇所」の「表示する一歩手前」で全てエスケープしてやればいいと思うよ。

もしかしたら言ってること間違ってるかもしれないけど、
その時はきっと誰かが突っ込んでくれるはずー。

追記
あと、寂しいことってなに?

トラックバック - http://anond.hatelabo.jp/20081020045037
  • エガミくんの脆弱性のやつ

    こんにちは! id:Hamachiya2 ですよー。 ブックマークコメントでIDコールされたけど、 「コメント返すためにブクマ (してリンクジュースを流すこと) 」は、ちょっと今回は間接的にでも...

    • http://anond.hatelabo.jp/20081020032812

      id:hiroyukiegamiです。 おぉ、確かにおっしゃるとおりです。 丸投げしてしまい申し訳御座いません。 分からない点を投げさせてもらいますね。 id:zapaさんとかがやっている荒らしソースは...

      • http://anond.hatelabo.jp/20081020041605

        はい! こんにちは! Hamachiya2ですよ! いま、エガミくんの書き込みみながら、 ざくっとソースみてみたよー。 XSSの対策ってね「出力時にエスケープする」っていうのが定石らしいよ。 ...

        • http://anond.hatelabo.jp/20081020045037

          早速お返事有難う御座います!id:hiroyukiegamiです! id:Hamachiya2先生からのまとめ なるほど!前回 $Hamachiya2 = htmlspecialchars($_GET["data"], ENT_QUOTES); //←ここを追加 $params = array('api_key' =&gt; 'フリッ...

          • http://anond.hatelabo.jp/20081020050922

            うーん。 http://flickr2.in/fli.html?data=%3Cscript%3Ejavascript%3Aalert(%27xss%27)%3B%3C%2Fscript%3E ってすると、JavaScript(alert)が実行されちゃうんだよね。 だったらまず、その実行されちゃった...

          • Re:Re:Re:Re:Re:エガミくんの脆弱性のやつ

            http://anond.hatelabo.jp/20081020050922 id:hiroyukiegamiだよ! 先生から ブラウザから「htmlのソースを表示」ってしてみてくれるかな。 とアドバイスを貰って http://flickr2.in/fli.html?data=%3Cscript%3Ejavascript...

            • http://anond.hatelabo.jp/20081020053019

              はいこんにちは! Hamachiya2だよ。 alertでなくなったね。こんな短時間ですごい。 エガミくん飲み込みはやい感じだね…。 ええと、あとは、下の方の画像で、どうもマーキータ...

              • Re:Re:Re:Re:Re:Re:Re:エガミくんの脆弱性のやつ

                http://anond.hatelabo.jp/20081020054933 id:hiroyukiegamiだよ! id:Hamachiya先生から2つの課題を貰ったよ! 1つめ!! 1つは、タグをエスケープしわすれている箇所がある点 ↑これは勉強になる!実際...

                • http://anond.hatelabo.jp/20081020062655

                  はい!こんにちは!Hamachiya2だよ。 簡単に言うと、この数十個の文字で変数で囲んということだったのですか?? この数文字の魔法を教えてもらってたらすぐ実践してたんですか...

                • えがちゃん、あのね。

                  えがちゃん、あのね。ちょっとおどろいた。 あっ、でもこれってそれだけXSSの脆弱性って大事って事なんですか?? http://anond.hatelabo.jp/20081020062655 最初っからずっとみんなが言ってる...

            • http://anond.hatelabo.jp/20081020053019

              ちなみに、何で悪い大人の人はXSSの脆弱性を突いてきて悪い事をするんですかー?? 悪い大人でも悪いことでもないよ。 やろうと思えばもっともっと悪いこともできるのに、alert出す...

    • http://anond.hatelabo.jp/20081020032812

      はまちちゃんのオトナを感じる…。

    • [セキュリティ]今日は増田的情報セキュリティの日

      私は単なる一増田でしかないのだが、なんとなく今日を増田的情報セキュリティの日とすることに決めた。 なぜって、今日は、年末年始という忙しく、そして狙われやすい時期をはさみ...

    • 増田で二人だけの交換日記ってどうなの?

      よそでやってほしいとおもうんだが。 http://anond.hatelabo.jp/20081020032812

    • これはえがい人とgoodhomeの揉め事のまとめ

      これはえがい人が画像in - サクサク画像検索しちゃう http://gazo.in/ と言うサービスをリリースする。 ↓ 永上裕之(えがちゃん)という男 - 変なオジサン♪ http://d.hatena.ne.jp/goodhome/20080820/12192021...

    • 今年ぼくが書いたはてな匿名ダイアリーまとめ

      2008/10/20 エガミくんの脆弱性のやつ とその返事 2008/11/11 彼氏がphp使ってた。別れたい… 2008/11/12 取締役がありえない失言をしてた。ユーザーサポート辞めたい… 2008/11/13 ウェブカレ1000万...