Home > Hack > Взлом университета Сколково и «соседних» сайтов

Взлом университета Сколково и «соседних» сайтов

Впервые в жизни пишу о скомпрометированном ресурсе. Хотя, бывали случае в N раз крупнее…
Предыстория.
Есть такой университет, как ОтУС — Открытый Университет Сколково. Был (есть) раньше только в Москве, сейчас открывается еще в Томске/Питере. Собственно приехали они к нам с презентацией, замотивировали (правда, очень клевые ребята приехали, вдохновили на поступление, учитывая, что я скептически отношусь (относился) к Сколково), чтобы поступали ну и т.д. Зашел я заполнять заявку и просто сработала привычка…
аплоад кастомных файлов с отсутствием правильно настроенного .htaccesss
Итог: полный доступ к исходным кодам, материалам, заявкам на поступление и базам данных следующих сайтов:

  • openu.ru — Открытый университет Сколково
  • apply.openu.ru — Отбор студентов в Открытый университет Сколково
  • eskolkovo.ru — ДО в Открытом университете Сколково
  • blog.eskolkovo.ru — вроде уже тоже самое, что и openu.ru
  • edu.opensingularity.ru — Открытый университет сингулярных технологий

И вроде еще какие-то, уже не помню.
Но, студенты то не при чем, я даже не стал копать глубже, посмотрел архитектуру ресурса, БД, пару исходников (я такого кода никогда в жизни не видел, под катом я расскажу про капчу, govnokod #1 просто) и сообщил саппорту.

Цель поста — быть на 100% уверенным, что после этой публикации данный скрипт приема студентов уберут навсегда

(хоть и с администратором мы немного поговорили на эту тему). Но чтобы как обычно не забылось, с мыслью — работает и ладно, сделаем контрольный выстрел.

Базы данных
Пароли хранятся в чистом виде. На тот момент было около 1,5к+ юзеров с различными персональными данными.
Владельцы папок/процессы веба
Все сайты под одним пользователем (как процесс веб-сервера, так и папки) //в принципе, частично простительно, не хостинг
Исходный код apply.openu
Это просто звиздец. Такого я никогда нигде не видел. Я расскажу вам про обещанную капчу…
Было у них нарисовано 30 картинок с изображением кодов (подозреваю, сделанных в paint, искажений изображения не было), одна из которых рандомно выдавалась юзеру (не фиксировалось, какая). А на серверной стороне…

	$c1 = $_REQUEST['thecode'];
	$i = 0;
	$names[]="GH4BFRO";
	$names[]="EWRHJ42";
	$names[]="JSWDWQ5";
	$names[]="REJ5JN4";
	$names[]="JFUJN47";
 
 
	$names[]="WFEW4B2";
	$names[]="QSDY68M";
	$names[]="BNMCF9J";
	$names[]="VBDXIN5";
	$names[]="RVXSBT5";
 
	$names[]="XCHJN5S";
	$names[]="UETRJ65";
	$names[]="VBNH3UA";
	$names[]="VBRJM4Z";
	$names[]="RSNZGWE";
 
 
	$names[]="GHFTGRO";
	$names[]="AZWDWQ5";
	$names[]="EWUBN42";
	$names[]="AQW5JN4";
	$names[]="JF66N47";
 
	$names[]="GHJW4B2";
	$names[]="QS45V8M";
	$names[]="BCVAF9J";
	$names[]="5VASIN5";
	$names[]="CVBZBT5";
 
 
	$names[]="X3CZN5S";
	$names[]="UBN2RJ6";
	$names[]="VBNHR4Z";
	$names[]="VBBNM4Z";
	$names[]="QWSX2IX";
	...
	for ($i ==0; $i < 30; $i++)
	{
 
		if ($c1 == $names[$i])
		{
			...

Тупо зашитые коды капчи. Принимаем запрос, бежим циклом по всему массиву, нашли совпадение — капча валидна.
Это я просто, об уровне кода :) и все в такое же духе.

Я правда верю, что этот кабинет будет удален с потрохами и руководство позаботится не только о красивом дизайне, но и о безопасности своих ресурсов. На данный момент личный кабинет закрыт, так как закрыт прием заявок и я с чистой совестью опубликовал пост. // мне немного рассказали, почему все так «плохо», но видимо нужна взбучка, и будет все по-другому

Студентам успешного обучения, надеюсь программа курса будет на достойном уровне (как по рассказам было в Мск)

Поделиться в соц. сетях

  1. Любопытный Джо Янв 29th, 2012 @ 12:20 | #1

    А в чём конкретно то уязвимость заключалась?

    • BeLove Янв 29th, 2012 @ 13:51 | #2

      Я написал в самом начале, загрузка любых файлов без правильно на то настроенного .htaccess

      • Любопытный Джо Янв 29th, 2012 @ 14:07 | #3

        Ну это то понятно. А сама загрузка файла каким образом осуществлялась? Через существующую HTML-форму или каким-то более хитрым способом?

        • BeLove Янв 29th, 2012 @ 14:14 | #4

          К сожалению, нет детективной истории. Через существую html без какой-либо валидации (даже по присланному mime-type от браузера). Абсолютно никаких ограничений, ни по типу, ни по размеру (ну тут только ограничение веб-сервера).

          • Любопытный Джо Янв 29th, 2012 @ 14:20 | #5

            Понятно, спасибо.

Submitting Comment, Give me a second...

Leave a comment

Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">
Trackbacks & Pingbacks ( 2 )
  1. Янв 29th, 2012 @ 14:51 | #1
    Pingback: Сколково | averkov.web.id
  2. Янв 30th, 2012 @ 15:00 | #2
    Pingback: Андрей Роговский » Blog Archive » Сколково