Как сломался HighLoad++, РИТ и все от компании ontico.ru случайно или чем опасен целевой фишинг, особенно если у вас есть XSS и пара недочетов

Привет,

Составлял себе тут список конференций которые хочу посетить по тем, или иным причинам. Одна из конференций, на которую упал взгляд — это HighLoad++. Ну типа там не только модно, смузи и все дела, но и полезно. Вообщем история об этом.

Часть 1. Начало.

Вообще глянул я http://www.highload.ru, который крутой и вообще они молодцы что делают, но тут я начал понимать как делать точно не буду.

  1. Это отсутствие HTTPS. А ведь могли научиться на своих конференциях. Мелочь вроде, но бляяяяяяя… Хотя стоп, тут вроде данных секурных нет, а есть личный кабинет и он отдельно, надо его проверить, но это попозже.
  2. Заголовки типа X-XSS-Protection и другие отсутствуют и за это у них заслуженный F от securityheaders.io(инфа сотка на 8 feb, 2017). Ладно, не суть, пропустим и посмотрим теперь на личный кабинет.

Часть 2. Личный кабинет. Чё там?

Живет он на отдельном HTTP #матьегоблеатьдакакого домене второго уровня http://conf.ontico.ru окей. Да, у них есть httpS://conf.ontico.ru, но без HSTS и даже редиректа, но ладно, идем дальше.

А что если посмотреть и тут заголовки, которые отсутствуют, а тут нет

  • Content-Security-Policy
  • X-Frame-Options
  • X-XSS-Protection O_o и тут тоже его нет. Да лааааааадно. Окей, может повезет и какую XSS найти?
  • X-Content-Type-Options

Тут нас встречает форма логина и все такое, посмотрим куки, все дела. Они все без SESSION, HTTPONLY и это нам на руку. Ускоримся и будем во все поля и урны совать вектор какой, например,
<!’/*!”/*!//’/*//”/*–!><Input/Autofocus/%0D*/Onfocus=confirm`xyu`//><Svg>
.

Насовал до хранимой XSS в поле отзыва при добавлении доклада. Таааак, ну ладно, вот что получилось в итоге так https://www.youtube.com/watch?v=5ecruXEREok. Окей, не плохо, мне нравится. У нас есть прямая ссылка на  все это хозяйство. Уиии.  Надо написать им  почту и сообщить, что я и сделал.
Спойлер: Потом и активная там есть, но не об этом сейчас.

Часть 3. Псссс, тут ошибка у вас.

Чет не отвечают, напишем Олегу Бунину в FB. Спасибо ему за быстрое реагирование, кстати.

Да, вы щас начнете пиздеть что мол аааааа, это плохо, фишинг и все дела. Ты знал что будет, ваще фи таким быть.

Через какое-то время он переходит по ссылке в своем аккаунте. Чтобы вы не бомбили, скажу что я в следующий момент ему все в fb отписал и подробно рассказал что да как. А сейчас вам покажу и расскажу.

Крч, потом Олег переходит по ссылку и мне приходит на сервак такая штука

Я тупо копирую выделенную куку, вставляю себе и вуаля, я Олег Бунин со своей секретной информацией и личный кабинетом с прочими функционалами, новостями и блаблабла, может покупками и билетами выдачами, но я не полез туда ибо это плохо.

Приватные данные замаскированны, все дела. Приватность же и я не такой плохой 🙂

Часть 4. Исправление.

Ну, это может и не обещание, но говорят что исправят все.

Часть 5. Надо бы проверить что да как.

Окей, исправили удалением моей страницы и вроде как забанили возможность работы хранимых XSS.
Это было бы правда круто, если бы еще появились заголовки типа X-XSS-Protection, но их не появилось и вообще остался iframe. И крч как-то так: https://www.youtube.com/watch?v=Iy3Ur_j_-Ik И у меня бомбануло. Написал письмо и ушел пить пиво.

Часть 6. Поправим. Vol 2.

Снова говорят поправят, но что-то уже не так интересно. Может и есть еще что прикольное, посмотрим потом, а пока хватит 🙂

Часть 7. Пожелания.

  1. Ребята, пилите на своих серверах HTTPS, хоромные что есть https://letsencrypt.org и не говорите что это сложно. Вот вам конфиг на nginx, например, который у меня везде https://github.com/aTastyCookie/letsencrypt-nginx.
  2. Проверьте себя на https://securityheaders.io и вы уже спасете себя немного.

Удачи вам всем, котиков, сисек и вообще всего самого огонь 🙂

P.S. Эта статья написана по мотивам https://ananev.me/topsecret-highload

This bug is subject to a 90 day disclosure deadline. After 90 days elapse or a patch has been made broadly available, the bug report will become visible to the public.