2008-10-20

http://anond.hatelabo.jp/20081020053019

はいこんにちは! Hamachiya2だよ。

alertでなくなったね。こんな短時間ですごい。
エガミくん飲み込みはやい感じだね…。

ええと、あとは、下の方の画像で、どうもマーキータグ(marquee)が埋め込まれてるみたいってことだよね。
うん。もう一回、htmlソースを表示ってして確認してみたよ。
こんなのが埋め込まれてた。

<img src='http://farm4.static.flickr.com/3120/2784053843_b7a7d07c9a_s.jpg' border=0 title=<marquee>test XSS</marquee> alt=<marquee>test XSS</marquee> />

これは問題点が二つあってね、
1つは、タグエスケープしわすれている箇所がある点
もう1つが、html属性値(alt=ナントカとか)をクオートでくくってない点

この二つを直していこうか!

phpプログラムの中のどこかで、<img>タグを出そうとしている部分があるはずだよ。
まずはそれを探そう。

そしたらきっと、その部分は、imgにphp変数を色々埋め込んで出そうとしているはず。
たとえばこんな風に。

echo "<img src='xxxxxx" . $hensuu1 "' title=" . $hensuu2 . " />";

これの$hennsuuも全てhtmlspecialchars()してあげる感じかな。

echo "<img src='xxxxxx" . htmlspecialchars($hensuu1, ENT_QUOTES) "' title=" . htmlspecialchars($hensuu2, ENT_QUOTES) . " />";

こうだね。

そうすればmarqueeタグが埋め込まれていても、

<img src="xxxxxxxx" title=&lt;marquee&gt;test xss&lt;/marquee&gt; />

こんな風にmarqueeとかがタグじゃなくなるので防げる。
でも完全じゃないんだこれ。
さっきも言った、属性値のクオートが足りてないから、ちょっと工夫すればxssやられちゃう。
詳細は長くなるので今は省くけど。

だから上の対処に加えて、titleとかaltとかの中身が、htmlでみた時に、ダブルクオートかシングルクオートで
くくられているようにしてやれば、いい感じになるよ!

<img src="xxxxx" title=ぺろぺろ alt=ぺろぺろ />

こうじゃなくて

<img src="xxxxx" title="ぺろぺろ" alt="ぺろぺろ" />

こうなるようにしよう。

(追記)

ちなみに、何で悪い大人の人はXSS脆弱性を突いてきて悪い事をするんですかー??

それだけエガミくんの生み出すものが注目されているってことだよ。
目立つとどうしても悪い人も寄ってきちゃうから困るよね。

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

    こんにちは! 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; 'フリッ...

          • 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/20081020050922

            うーん。 http://flickr2.in/fli.html?data=%3Cscript%3Ejavascript%3Aalert(%27xss%27)%3B%3C%2Fscript%3E ってすると、JavaScript(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万...