История одной компьютерной войны

Данная заметка — сокращенный пересказ почти 10-летнего эпоса о находчивости и предательстве, изобретательности и хитрости, происходящих от человеческой лени. Началось все с того, что на неком айтишном факультете некого университета запустили для контроля знаний учащихся по одному из семестровых курсов систему дистанционного обучения. Дальнейшая борьба представляла из собой пошаговую стратегию с фазами в семестр, причем со стороны студентов каждый раз были новые люди со свежими идеями.


Факультет: Раз уж обучение предполагалось дистанционное, то и контрольные работы (тесты) отпущены вам на проведение дома в удобное для вас время.
Студенты: Отлично! Все приходим в общежитие и сдаём тесты командами. Можно и вовсе посадить умного товарища сдавать за всю группу по очереди в обмен на какие-нибудь плюшки.

Факультет: Что-то тут не так. Давайте в этом году вы будете все-таки сдавать тесты в фиксированное время в аудиториях факультета. Кстати, как и в прошлом году, перед тестом можно подготовиться, сдавая тренировочный тест любое число раз.
Студенты: Отлично! Мы написали скрипт, который сдает случайным образом тренировочный тест, пока не получает за него оценку в 100%. Выбранные ответы запоминаются и используются при дальнейших попытках, пока не будет полностью извлечена вся база вопросов. Дальше ее можно зазубрить, благо она не большая.

Факультет: Больше вопросов! Извлекайте на здоровье, больше выучите.
Студенты: Мы создали сайт с идентичным интерфейсом, который проксирует наши запросы к системе дистанционного обучения, подправляя наши ответы на нужные. Без анализа весьма схожей адресной строки незаметно, что мы на другом сайте.

Факультет: Система дистанционного обучения находится в локальной сети. Отключить к чертям внешний интернет в классах!
Студенты: Не страшно. Мы притащили на компы javascript, который при прохождении теста показывает правильный ответ в статусной строке браузера.

Студент Х: Извините, а мне вот система поставила 68 баллов, а должна была 78. Вот у меня распечатка с полным дампом ваших баз вопросов, в ней написано, что я ответил правильно, так что…
Факультет: Да вы вконец обнаглели! Нельзя было показывать вопросы до теста. В этот раз мы предоставили вам 2 пула различных вопросов — для тренинга и для собственно теста. Кстати, больше нельзя локально хранить никакие файлы — это бездисковые станции, и они по-прежнему без доступа к интернету, а все USB-порты спереди и их очень хорошо видно.
Студенты: Паника! Паника!

Факультет: Что-то у вас оценки стали ниже некуда! Возможно, со всей этой гонкой вооружений мы понаписали слишком сложные вопросы… Давайте вы на всякий случай получите 3 дополнительных попытки на пересдачу каждого теста.
Студенты: Интересное дело. У нас тут у одного умельца курсовая работа по распознаванию образов, а еще у вас флоппи-приводы работают.
Факультет: Ну и что?
Студенты: А мы принесём на дискете программу, которая прячется в трей и коллекционирует скриншоты.
Факультет: А что дальше? У вас будут вопросы, но не ответы же. Да и как вы соберете все вопросы?
Студенты: Разделение труда и чёткая организация. Армия смертников придет на пересдачу теста и честно завалит первую попытку, собрав коллекцию скриншотов. Всю следующую ночь ботаны будут эти скриншоты размечать. Затем на их базе генерится новая программа.
Дежурный по аудитории: Ой, а что это у вас мышь сама по экрану ездит и правильные ответы нажимает?!?!

Факультет: Так дело не пойдет. Все пересдачи после зачетной сессии, отчего вам грозит недопуск до всех экзаменов.
Студенты: Хм, а ведь среди нас есть студенты с кафедры, где обитает администратор системы дистанционного обучения. %username%, а покажи пожалуйста статистику по моей группе. Смотри, можно сесть за вот эту замечательную зараженную трояном машину и ввести свой пароль вот тут. Так, а теперь мы выкачиваем всю базу вопросов нашего года при помощи платной анонимной прокси, на которую зайдем через анонимный WiFi (честное слово, они так и сделали!).

Факультет: Что-то оценки у них подросли, а нарушений никаких не замечено. Наверное, взялись за ум и учат.
Студенты: Ура! Пароль администратора за весь год так и не менялся, мы тупо пользуемся достижениями прошлого поколения.

Студент Х: Извините, а мне вот система поставила 68 баллов, а должна была 78. Вот у меня распечатка с полным дампом ваших баз вопросов, в ней написано, что я ответил правильно, так что…
Факультет: Так, у меня слов нет. Новый пароль, новые вопросы, база вопросов заливается на сервер за 24 часа до начала теста.

Студенты: Хм, а у вас система дистанционного обучения на локальном сервере не обновлялась уже 7 лет, так?
Факультет: Ну да, ну и что с того?
Студенты: Да так, уязвимость одну нашли старенькую незакрытую. От любого юзера логинимся, а потом берем и через специально сформированный URL вытаскиваем из базы вопрос с заданным номером. Кстати, мы украли не только вопросы нашего года нашего курса, доступные нашему администратору, но и вообще все курсы, когда-либо читавшиеся через эту систему на данном сервере. На все это у нас ушло часов 6.
Разработчики системы: Мы не можем накатить новую версию, т.к. аутсорсные дизайнеры еще не закончили рисовать интерфейс.
Факультет: Блин :(

Возможно, последовательность шагов сторон нарушена, да и не все фазы длились по полгода. Однако все описанные подходы и технические средства действительно использовались:
  • командная сдача
  • написание бота
  • фишинг (правда, обманывали не юзера, а наблюдателя)
  • пользовательский скрипт с ответами
  • скрытая тулза для сбора вопросов и автоответа
  • социальная инженерия
  • взлом

Были, конечно, и более типовые и примитивные инструменты: вики, форумы, группы вконтакте, где выкладывали запомнившиеся вопросы или сделанные через Paint скриншоты. Один человек и вовсе получил строгий выговор за фотографирование монитора сдающей группы через прозрачную стену.

Студенты способны на все, лишь бы не сдавать честно, но студенты-айтишники намнооого опаснее. Такая вот история. Если тут есть разработчики подобных систем или люди, имеющие отношение к учебному процессу, задумайтесь, от всего ли вы себя обезопасили — всё это не мифические потенциальные угрозы, а вполне осуществимые на практике вещи.

UPD. Меня поправили, что надпись поверх адресной строки выводилась не пользовательским скриптом для браузера, а программой на Delphi. Кроме того, в минувшем году аналогичное решение также было разработано и выполнено как плагин к браузеру.
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 123
  • +2
    Так было уже давно в инете. Навскидку: it-giki.ru/post/153.html (01 января 2011, 05:17). Может это автор еще и здесь решил отписаться.
    • 0
      Интересно ))
      • +24
        Неожиданно!!!
        По вашей ссылке — копипаст моего текста, который я запостил в песочницу Хабра в окрестностях 29 декабря 2010 года и больше никуда никогда не отписывался.
        • +19
          Посмотрел внимательно на сайт по ссылке… Да это же клон Хабра, ворующий посты из песочницы!
          • 0
            Видимо, карма? :-)
            • 0
              Да, они именно так и делают. Сам видел там свой пост из песочницы, который тоже публиковал перед НГ, когда было объявлено, что попасть в песочницу будет проще :)
              • 0
                Там все посты admin копипастит, хз, есть ли там вообще живые пользователи.
              • НЛО прилетело и опубликовало эту надпись здесь
                • +1
                  Об использовании плагинов к Firefox в данной войне кроме 2010 года не слышал никогда. Год смертников со скриншотами пришелся на использование IE7, если мне не изменяет память. Хотя, конечно, за запуск другого браузера наблюдатели наверняка не наказывали бы.

                  Впрочем, на полноту изложения не претендую. Просто скомпилировал воспоминания тех очевидцев, с кем общался лично, и собственные наблюдения в единую временную ленту. Поскольку борьба была в основном невидимая, айсберг был наверняка сильно больше.
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • 0
                      А, эту XSS я видел. Лично отправил разработчикам линк на сообщение об ошибке с работающим фреймом Яндекса в середине. Вроде обещали починить, но не знаю, насколько успешно.
                  • 0
                    В мое время систему эту глючило и колбасило неимоверно. Помню были вопросы, на которые заведомо не было правильного ответа среди 4 предложенных. Или были такие вопросы, где правильным считался явно неверный ответ. Только база ответов из тренировочных тестов нас и спасала.

                    А еще там были «лабораторные работы» вроде бы по настраиванию сетевого оборудования через эмулятор консоли. Еще больший ужас.
                    — Жми 3.
                    — Почему 3?
                    — Не знаю, но это правильно.
                    — Не сработало.
                    — Тогда F5 и еще раз 3. Пока не сработает.
                • +9
                  А можно имена студентов поимённо, с указанием вклада в… противостояние и резюме?
                  • +4
                    Все активные участники того процесса, как и следовало ожидать, сейчас работают в крутых IT-компаниях за крутые зарплаты)
                    • +1
                      Мы опоздали? Увы…
                      • 0
                        Черт, я работаю учителем. В крутой компании скучно. :)
                    • 0
                      Большая часть этих людей уже не в России :-)
                    • +7
                      Я вот, в институте написал прогу, которая забиралась в память процесса системы тестирования, находила текст отображаемого на экране вопроса, отступала заданное количество байт и находила массив правильных ответов. После чего автоматически проставляла галочки правильных ответов. Лафа!
                      • +29
                        Да, а я самый непопулярный вариант сдачи всегда использовал, но зато самый действенный — учил…
                        • +10
                          не всегда он самый действенный. Особенно когда число вопросов около 200 и все они касаются технических деталей, а не понимания сути.
                          • 0
                            Согласен, технические детали таким методом сдавать — неблагодарное занятие.
                            Но тем не менее другого способа 100% сдачи даже таких тестов я не знаю. Разве что «зубрежка».
                            • 0
                              «Извините, а мне вот система поставила 68 баллов, а должна была 78. Вот у меня распечатка с полным дампом ваших баз вопросов, в ней написано, что я ответил правильно, так что…»

                              С такими системами сдачи не всегда 100%, даже если всё выучил и понял.
                          • +3
                            Вы наверно не было знакомы с этим курсом. Учить этот курс не было ни какого смысла. Поверьте мне :) Нет ни одного студента, ни одного ботана этого престижнейшего ВУЗа нашей страны, который ставал этот курс, который бы считал, что к этим тестам нужно готовиться при помощи честной учебы.
                            • 0
                              О, я смотрю, ты тоже в курсе этой истории? Забавно наблюдать тонкость прослойки по контактам :)
                              • +1
                                Ну, что значит тоже :) Я тоже выдирал базу вопросов из этих тренировочных тестов, а как еще это было сдавать? :)
                                • 0
                                  Как и находящийся выше @ITdirector, мой друг и сотрудник :) И как еще как минимум один из двух моих разработчиков по Комбилду, учившихся в сем достославном ВУЗе. Я и говорю, слой тонок!
                          • 0
                            Интересно =) Мы с нашей группой делали подобное, только в весьма мелких задачах. Частью наших наработок и сейчас студенты пользуются.
                            • +1
                              Мы делали скриншоты командой-«смертников» и за ночь решали.
                              Еще я в свое время взломал тест — там проверка ответов была на Javascript, и правильные ответы можно было узнать и кода :)
                              • +1
                                Отличный сценарий для фильма про хакеров получился!
                                • 0
                                  Кстати, нормальный фильм бы получился )
                                  А то какое-то натянутое впечатление после применения команды «ping» для подбора пароля :-D
                                  • 0
                                    Пожалуй, единственное, где были реальные команды, это Матрица, но та слишком сюрреалитична.
                              • +2
                                >Один человек и вовсе получил строгий выговор за фотографирование монитора сдающей группы через прозрачную стену.

                                Ага, с формулировкой «промышленный шпионаж». За фотографию человека на фоне этой прозрачной стены.

                                Отношение студентов к этому курсу неповторимо, его так все «любят» :)
                              • +4
                                Как будто в ИТМО дело было
                                • +4
                                  Вот и я так подумал. А, оказывается, нет.
                                  Видимо, во всех IT-вузах всё одинаково :))
                                  • 0
                                    а можно подробнее про ИТМО? у нас нынче единственный доступных хак — отправлять письмо самому себе с ответами на тесты :)
                                    • 0
                                      а разве не прикрыли это ещё?)
                                      Когда я на первом курсе был — уязвимость в адресной строке нашли и в итоге получили все логины и имена пользователей, а потом брутом подобрали пароли. Спалились когда вошли в систему одновременно с Директором ЦДО. =)
                                  • 0
                                    У нас было все просто: запароленный ворд файл со скриптом на VB, ответы были выделены красным цветом. Разумеется мы его стащили и программкой подобрали пароль, затем сделали шпоры)
                                    • +8
                                      Ох уж этот Студент Х
                                      • +2
                                        И где такие только берутся)
                                        • 0
                                          Справедливости ради, замечу, что это был не один человек, оставленный на второй год, а два совершенно разных Студента Х из разных выпусков.
                                          • 0
                                            студент Х и студентка Х, если мне не изменяет это самое.
                                            • 0
                                              Тогда уж студентка Y.
                                              • +4
                                                Ой, доктор, разве можно так ошибаться: ;) Студент Y. Студентка X

                                                Ну, или Студент XY. Студентка XX :)
                                        • +4
                                          > Если тут есть разработчики подобных систем или люди, имеющие отношение к учебному процессу, задумайтесь, от всего ли вы себя обезопасили — всё это не мифические потенциальные угрозы, а вполне осуществимые на практике вещи.

                                          «Профессор, конечно, лопух, но аппаратура ПРИ НЕМ! Как слышно, ПРИ НЕМ!»
                                          • +3
                                            Это же про НИУ ИТМО и ЦДО?)
                                            • 0
                                              Неа. Нечто московское.
                                              • 0
                                                Видимо, во всех IT-вузах всё одинаково :))
                                                • 0
                                                  Ну тут всё точно, я крайне сомневаюсь, что строгачи за фотографии, скрытый автоотвечающий софт на дискетках и идиоты с распечатками полных баз ответов на апелляциях сильно часто пересекаются. А тут я точно знаю про все три факта на конкретном факультете.
                                              • +2
                                                На факультете КТиУ, есть такая программа для тестирования по предметам моделирования и сетям.
                                                Так там та же история.

                                                Сначала была написана программа для перехвата правильных ответов — пофиксили.
                                                Потом подмена страницы результат — пофиксили.
                                                Получали список всех вопросов из программ — вопросы обновляли в день тестирования.
                                                Тогда уж просто стали использовать ArtMoney, но это уже опасно.
                                                Апофеозом стало использование удаленного рабочего стола, один студент проходил тестирование в аудитории и делал вид, что решает. А второй подключался и решал с учебником за него.
                                                • 0
                                                  Удаленный рабочий стол — зачет! :-)
                                              • +7
                                                ахаха )
                                                несколько из моих фокусов:

                                                локальная сеть была на новелле, для меня тогда неизвестная система, но дефолтные пароли подошли к серверу :) таким образом я изучил новелл

                                                потом когда была винда, я активно юзал снифферы

                                                нам отключили локалку — я обжал кабель кроссовером и мы по-очереди делились результатами :)

                                                потом был баг в IIS (его юзал codered), так я тоже получал базу с ответами

                                                а потом мне в институте поставили зачет и запретили ходить на занятия по информатике до конца года :D
                                                специальность была «информационная безопасность в коммерческих структурах» или что-то вроде того
                                                • +10
                                                  Ну правильно, специальность ведь была освоена в полном объёме.
                                                  • 0
                                                    Дефолтные пароли на новеле?

                                                    Мож запамятовал, но вроде ни в 3.12, ни в 4.0 не было.
                                                    Не напомните?
                                                    • +2
                                                      напомню, admin / password, admin / admin и тому подобное
                                                    • +1
                                                      Если верить дате вашего рождения из профиля, то 16 лет вам было в 2000 г. Где ж вы новелку то нашли?
                                                      • +1
                                                        Не поверите, нам и в 2010м её преподавали.
                                                        • +2
                                                          А мне они перестали попадаться гдет-то в 2005 году, а так нет нет, да у кого стоит, работает.
                                                          • 0
                                                            ну она и до сих пор есть в некоторых учебных заведения :)
                                                        • +1
                                                          на 2ом образовании (менеджмент) на гос экзамене был тест. 1200 вопросов, которые дали пройти на сайте за 4 дня до сдачи. Другой подготовки не было. Замучился учить, а нужно было 95% набрать. Я, как единственный в группе айтишник, нашёл дыру:
                                                          если открыть 2ую страницу с тем же URL до завершения теста, потом на первой ответить на вопросы и завершить тест, а вторую страницу обновить, то на 2ой будет результат всегда равный 100% который и ложится в базу. Дома получалось, а на госе как назло сам ответил на 100% :)
                                                          • +4
                                                            У нас на 1м курсе решили устроить по программированию зачет с автоматической проверяющей системой. Самописной.
                                                            Какому гению пришел в голову метод проверки «положить рядом с входным файлом выходной и сравнить их на совпадение» я не знаю. Но exec('cp answer output') проходило все тесты ко всем задачам.
                                                            • 0
                                                              Вполне легитимный способ получить зачет на 1 курсе, на мой взгляд ))
                                                              • 0
                                                                Путёвка на пересдачу легитимнее =)
                                                                • +1
                                                                  Проблема в том, что к второй попытке зачета текст универсальной программы из 3х строчек выучили наизусть даже те, кто смутно представлял, чем int отличается от void *.
                                                                  • 0
                                                                    Да, бездумно повторяющие конечно не заслуживают. Но все равно закончится тем, что им напишет кто-то другой программу. Для них, вероятно, единственный фильтр — это устные зачеты по теории.
                                                                    • +2
                                                                      Просьбы вида «сделайте, чтобы было вот так» (изменений на 3 строчки) тоже неплохо фильтруют.
                                                              • +13
                                                                От имени студентов скажу что найти способ обламать систему было намного интереснее чем проходить сами тесты.
                                                                • +8
                                                                  Пользуясь случаем, мы бы хотели передать привет бабушке, маме и всем, кто помогал нам завершить взлом :D
                                                                  *апплодисменты в зале*
                                                                • 0
                                                                  Да, эпично =)
                                                                  У нас в универе есть возможность пройти пробный тест, в котором есть все вопросы из реального. Тут уж до автоматизма и запоминания доходило.
                                                                  Впрочем, 'смертники' тоже были.
                                                                  • –2
                                                                    тему надо спрятать, не надо нашим идеи подавать.

                                                                    у меня просто не показываются вопросы до самого теста, никаких предварительных, известны только темы. А еще за чьё-то читерство уменьшается время на тест для всех и пусть другие потом решают чего сделать с тем кто им так «помог».

                                                                    ЗЫ хотя варианты с договора с тем, кто вводит вопросы для тестов, уже были.
                                                                    • +1
                                                                      Тут вопрос тонкий, примерно как с публикацией/сокрытием кода эксплойтов, описаний уязвимостей, исходных кодов сервисов и прочего. У обоих подходов есть сторонники и противники. И у тех и у других есть свои доводы.
                                                                    • 0
                                                                      А у нас исключали с универа за списывание или читерство.
                                                                      • 0
                                                                        У нас программа тестер на весь экран, нельзя свернуть и и вообще ничего. Вопросы копируются за 5 минут до начала экзамена. Хранятся в зашифрованной БД рядом в файле. Есть пароли на вход и выход. Так что всё достаточно сложно :)
                                                                        • +5
                                                                          А прога тестирующая есть еще до проведения тестирования? У вас ASM не было? Рекомендую поковырять прогу дизассемблером + отладчиком и разобраться как она работает а там и решение найдется и не обязательно патч самой проги. Прокачайте мозги. ;)
                                                                          • 0
                                                                            Тестер-то на весь экран, но в системе могут быть и фоновые процессы, автозапуск всякий.
                                                                            • 0
                                                                              А что с него-то? Там даже вопросы картинками. В случайном порядке 30 картинок из базы в 50 картинок.

                                                                              Проще выучить и быть хорошим мальчиком, тем более все эти тесты были — по спецификации C#. У всех C# головного мозга, но это же хорошо :)
                                                                          • 0
                                                                            Да, в России примерно так все и было :) Специальность была не айтишной, но электронные тесты случались.

                                                                            Сейчас, в Европе, даже представить не могу, чтобы можно было читить или списывать. За это отчисляют сразу, а все тесты — исключительно на бумаге. Впрочем, и учиться намного легче и интереснее, поэтому вполне можно сдавать своими знаниями.
                                                                            • 0
                                                                              Хех у нас были только тупые тесты написанные под досом. Запускалось все это из нортон коммандера в котором был хекс редактор встроен. В общем, даже не интересно — все вопросы и ответы лежали в хексе открытым текстом.
                                                                              • 0
                                                                                Класс, 10 лет назад, мне приходилось вытаскивать базу с дискеты преподавателя с помощью процесса в винде маскирующегося под AVP (антивирус такой был). Дальше находил правильные ответы (в ручную) изменял текст БД и в следующею пересдачу менял на время теста новую БД со старой (тот же процесс делал). Правильные ответы маркировал с помощью дополнительного символа (напротив правильного ответа на границе монитора ставилась еле заметная точка). В итоге, сдавал всегда со второй попытки на максимальный бал ))
                                                                                • +5
                                                                                  Этот текст такие воспоминания молодости навеял… Дело было в первый год, и тогда на фоне последователей наши методы были совсем простыми. Сам учебник в системе дистанционного обучения был скверным переводом (местами вольным пересказом) Таненбаума, и его скопировали в первый же день использования системы. При прохождении теста ответы легко находились контекстным поиском в этом файле. Тогда же мы составили первые списки вопросов с правильными ответами.

                                                                                  Вопросы были местами юмористическими, местами просто с ошибками. Вот несколько избранных среди использовавшихся в первый год работы системы.

                                                                                  Как расшифровывается аббревиатура UDP?
                                                                                  • User Destruction Protocol
                                                                                  • User Data Protocol
                                                                                  • Undefined Data Protocol
                                                                                  • Unexpected Data Protocol

                                                                                  Приемопередатчик на спутнике называется
                                                                                  • Транспондер
                                                                                  • Трансивер
                                                                                  • Трансформер
                                                                                  • Трансвистит

                                                                                  Троекратное рукопожатие – это:
                                                                                  • Способ ведения успешных переговоров
                                                                                  • Ритуал ввода в строй нового маршрутизатора в компании Cisco Systems
                                                                                  • Алгоритм надёжного установления соединения
                                                                                  • Метод быстрой доставки подтверждений по транспортному каналу

                                                                                  Основные причины искажения сигнала при передаче
                                                                                  • Затухание
                                                                                  • Неравномерное затухание
                                                                                  • Искажение формы
                                                                                  • Шумы
                                                                                  • Длина проводника
                                                                                  • Количество изгибов
                                                                                  • Экскаватор
                                                                                  • Узкая полоса канала

                                                                                  Кто автор алгоритма троекратного рукопожатия?
                                                                                  • Томпсон
                                                                                  • Томлинсон
                                                                                  • Алгоритм народный
                                                                                  • Гейтс

                                                                                  Кто является официальным создателем WWW?
                                                                                  • Билл Гейтс
                                                                                  • Альберт Гор
                                                                                  • Тим Бернерс-Ли
                                                                                  • Скотт МакНили
                                                                                  • 0
                                                                                    а мне вспомнилось как двое обозвали витую конкордом :)
                                                                                    всегда правильные варианты разбавляются неправильными, а иногда заведомо бредовыми, но как показала практика — их тоже выбирают.
                                                                                    ЗЫ еще оптоволокно лучше витой — так как оно не подвержено солнечному свету :)
                                                                                    • 0
                                                                                      Юмористические варианты ответов забавными были, а вот отсутствие правильного ответа среди предлагающихся вариантов или ошибки в базе ответов гораздо печальнее.
                                                                                  • +5
                                                                                    На одном экзамене предстояла сдача теста на компах. Информации о самом тесте раздобыть почти не удалось, попытки получить на исследование программу тестирования через получение доступа к компам, где тестирование проводится, не увенчались успехом (позже оказалось, что прога имеет веб-интерфейс).
                                                                                    Когда подошла очередь этого экзамена и стало ясно, что автомата не видать и сдавать придётся, я взялся за оценку своих возможностей. Оценив свои силы, понял, что честно выучить материал не успею (это был не профильный, а общеобразовательный предмет… ой, да чего уж там скрывать, БЖД это было). Зато успею сделать хорошую шпору.
                                                                                    В итоге за два дня родилась программа, которая:
                                                                                    * хранилась на флэшке в автозагрузке
                                                                                    * при запуске не имела видимого интерфейса
                                                                                    * зато имела интерфейс для знающих в виде окошка в углу экрана, которое становится полупрозрачным при наведении мышки, и прозрачным при убирании мышки
                                                                                    * в программе содержалась база из всех вопросов по предмету, которые смог нарыть, в том числе отсканированные и распознанные вопросы с какой-то распечатки
                                                                                    * в окошке имелась строка поиска по вопросам, причём не тупой strpos, а строка разбивалась на слова, для каждого слова длиннее 2 букв составлялись множества вопросов, в тексте которых (тексте вопроса или ответа) имелось вхождение этой строки, в список вопросов выводилось пересечение этих множеств
                                                                                    * ну и при выборе конкретного вопроса в окошке ниже появлялся ответ
                                                                                    * причём набирать текст в строке поиска можно было и в «невидимом» режиме, главное поставить фокус на неё
                                                                                    * (!) программа была также имела вариант компиляции под Windows Mobile, и её копия была на моём КПК

                                                                                    В итоге на экзамене пользовался вариантом с флэшки, процентов 95 вопросов нашёл в своей базе и… система поставила мне трояк.

                                                                                    В конце концов проблема была решена банальной правкой HTML (и лошадиной дозой адреналина — помимо того, что нужно было успеть внести правки, пока не подошла тётенька-проверяющий, так я ещё и быстро закрыл перед тётенькой окошко браузера — чтобы не заметили слетевший дизайн страницы — и вдруг выяснилось, что она не успела посмотреть оценку — а на серваке-то другие совсем числа… повезло, что была вторая тётенька, которая всё увидела и записала так, как мне было нужно).
                                                                                    • +2
                                                                                      В дополнение, про дамп базы вопросов для одного студента другого факультета путем взлома сайта через SQL-injection я не расскажу. Да я и не знаю, слышал только, что один знакомый одного моего знакомого это вроде бы делал…
                                                                                    • 0
                                                                                      Мда. Легче и дешевле было распечатать вопросы на бланках и проверить вручную ответы :)
                                                                                      • +5
                                                                                        Я почти расплакался. Молодость моя :) Совсем недавно же было :) А как после гайки начали закручивать. Но ничего, молодцы, все равно захакали.

                                                                                        Помню, как еще во втором маш.зале, где юниксы были и disk-less терминалы фревые во время загрузки загружали с дискетки свой подправленный init :)
                                                                                        • 0
                                                                                          Ты еще программирование на Квейке на формозовских компах под NT4.0 вспомни :)
                                                                                        • 0
                                                                                          мы просто снифили пароль преподавателя и правили свои результаты от его имени (ну и txt'шник «вопрос-ответ» составляли если заранее был доступ к базе)
                                                                                          • 0
                                                                                            Было дело онлайн тесты по информационной безопасности сдавал через написание бота, собирающего базу вопросов по обучающим тестам и проходящего экзаменационный на отлично.
                                                                                            Забавный был опыт, но вот прочитать материал всё же стоило бы.
                                                                                            • +2
                                                                                              Друг готовился сдавать экзамен по вождению:

                                                                                              1. купил диск с программой-тестом, что бы потренироваться.
                                                                                              2. В файле технической инструкции к программе неожиданно был обнаружен инженерный пароль.
                                                                                              3.…
                                                                                              4. Прибыля!!!
                                                                                              • +2
                                                                                                тем не менее, ребята хорошо работают в команде. Из ядра этой группы могло бы вырасти что-нибудь путное.
                                                                                                • 0
                                                                                                  В разные годы это ж всё разные люди были.
                                                                                                • +1
                                                                                                  Эх, люблю я подобные истории.
                                                                                                  Я в универе, тоже читерством занимался. Были тесты в локалке кафедры. Заходишь, выбираешь тему, заполняешь группу и ФИ и отвечаешь, после чего тест отправляется на сервак где и проверяется. Полчаса работы и готов чит. Пара часов и готов чит на все 4 теста для нашего факультета. Работал он так:
                                                                                                  — заходишь на мой сайт :)
                                                                                                  — выбираешь тест
                                                                                                  — заполняешь группу и ФИ
                                                                                                  — нажимаешь «I love DaaGER»(все мои читы за время обучения, сопровождались подобными кнопочками)
                                                                                                  — и вперед к преподу, который говорит «Вы сдали».

                                                                                                  Работало просто, я просто отсылал готовый тест, с иногда меняющимся количеством верных ответов. Вот так мне пригодилось моё увлечение веб-программированием.

                                                                                                  Потом были написаны новые странички моего сайта, которые позволяли делать лабы по кодированию и сжатию информации. Странички, которые позволяли найти варианты строк, чтобы коэффициент сжатия был тот, который нужен преподавателю. С одним лишь я не справился, не смог построить «дерево» для алгоритма Хаффмана, алгоритм знал, но построить было проблематично, от руки легче и быстрее было.
                                                                                                  • +3
                                                                                                    И дополню(не в целях хвастовства):
                                                                                                    Этот предмет единственный, который заставил самостоятельно крайне активно изучать материал. Были прочитаны около десятка статей о сжатие и кодирование, прочитаны форумы с текстом и кодом, как на известных, так и не известных языках. Перечитанные главы из книги Ватолина. Лабы я делал первый и помогал другим. Особо приятно было, когда мы выбрали пустую аудиторию и я у доски всем рассказывал о том, что на лекции не совсем качественно объясняли. Пришли люди из другой группы, открыли дверь, увидели меня у доски, студентов за партами, извинились и закрыли дверь. А через 10, когда мы резко собрались и вышли, оказалось ещё что и препод с ними был, перед которым извинились уже мы. Оказалось еня приняли за препода, который задержал группу.Приятно:)
                                                                                                    Полученные навыки и знания пригодились на зачете, после первого же вопроса, мой ответ оказался настолько полным и точным, что преподаватель сказал, что даже не знает что можно спросить после этого. Обидно было, что это «зачет» и один вопрос, а за семестр до этого у препода получил «три», просто потому что не повезло…
                                                                                                    • +1
                                                                                                      Ух меня понесло:)
                                                                                                      Лаба по КОИЗ(не помню расшифровку) — делаешь тест, заваливаешь, принскрин, и в Paint чуток правишь текст и просто подозвать препода.
                                                                                                      Лаба по Информационной безопасности в Телекоммуникационных Системах: лаба на шифрование текста с заменой символов+вопросы по расшифрованному тексту. Простые манипуляции с HEX редактором, размышление о том, как бы я написал программу эту. Изучение конфигов. Вуаля. Заваливаешь расшифровку и вопросы — результат 100% текста расшифровано и все ответы правильные.
                                                                                                  • 0
                                                                                                    Извините за конкретику, но очень уж напомнило факультет БИ в ГУ-ВШЭ… вы случаем не оттуда? =)
                                                                                                    • +1
                                                                                                      Нет, вы к сожалению обознались. Впрочем, не только вы. Тут по меньшей мере двое в комментариях ошибочно узнали в тексте ИТМО.
                                                                                                      • 0
                                                                                                        Значит не мы одни такими изысканиями занимались. Спасибо за топик )
                                                                                                    • 0
                                                                                                      Весёлые были времена, да, я попал на виток с дискетками, деталей как прятался скрипт не помню, по смыслу это были javascript вставки, которые по клику в определённое место левой кнопкой искали буфер обмена в ответах, а правой кнопкой в полном тексте лекций, и подменяло какой-то левый текст на странице на нужную инфу.
                                                                                                      Скрипт писали сами, т.к. популярного в те времена скрипта мы почему-то не нашли :)
                                                                                                      А почему заставили всех гадать где и что это было?
                                                                                                      • +2
                                                                                                        11 класс школа. Выпускные экзамены. Не поставили автомат по последнему — информатике. Обида.

                                                                                                        Но было время к этому подготовиться.
                                                                                                        Выход брутфорс!

                                                                                                        Кабинет информатики 12 компьютеров + сервер на NetWare
                                                                                                        Дома пишется вирус на паскале который заражает файл command.com и устанавливается деструкция на заданную дату и время.

                                                                                                        Проблема: в БИОСе закрыты дисководы.
                                                                                                        Решение: на уроке пишется программа которая дампит кмос в файл, потом через 70-71 порт сбиваем контрольную сумму кмоса, открываем дисковод — копируем файл на компьютер, восстанавливаем кмос из файла.

                                                                                                        Как заразить все компьютеры? Общих сетевых папок нет.
                                                                                                        Решение: как-то на уроке нам создали пользовательские учетные записи на NetWare, преподаватель чтобы облегчить нам жизнь порекомендовал придумать простые пароли, и привел пример пароля — 5 раз ввести первую букву своего имени (например, если вас зовут Александр — вам предлагалось задать пароль — «ааааа», кстати преподавателя звали как раз Александром:).

                                                                                                        Вход под учеткой препода, в syscon'e создание левого пользователя с правами супервайзера. Доступ на запись к общим папкам.
                                                                                                        Заражение сетевых игр (обычно все играли в Quake).

                                                                                                        Итог: все машины инфицированы.

                                                                                                        Деструкция:
                                                                                                        Техническая справка — MBR
                                                                                                        Из Структуры описания раздела интересуют 3 байта — 01h-03h указывающие на начало раздела, туда просто пишем 0/0/1.

                                                                                                        Результат:
                                                                                                        на win-95/98, жесткий диск тупит при загрузке после вывода «verifying dmi pool data». Да при том тупит так, что не грузиться с загрузочной дискеты, и более того при подключении такого винта слэйвом — переносит такой эффект на компьютер мастер харда.

                                                                                                        Кульминация:
                                                                                                        за некоторое время, вручную синхронизируется время на всех компьютерах в учебном классе, выставляется день экзамена, время деструкции — 8:44 АМ.
                                                                                                        Прихожу сдавать, первым не иду, сижу жду первые 6 человек сдали, зашли следующие начали готовиться и настал sudden death. В течении 2-3 минут погасли все включенные компы, остальные при включении — не загружались. Все замирало на надписи «verifying dmi pool data»

                                                                                                        Экзамен пришлось перенести. Он был последним. На следующий день мне нужно было уезжать в другой город сдавать вступительные экзамены. И автомат мне все же поставили — как не крути.
                                                                                                        • 0
                                                                                                          Ну если подумать, то это же исключительно позитивное явление:

                                                                                                          — одни студенты лучше изучают необходимые для сниффинга знания, основы написания плагинов к браузеру и что там еще.
                                                                                                          — другие студенты, у которых есть более важные дела, чем зубрежка, или которым неинтересен предмет, не ломают себе мозги
                                                                                                          — преподаватели тоже совершенствуются в области защиты информации.

                                                                                                          Сплошной позитив же.

                                                                                                          А вот, кстати, кому интересно, похожая система тестирования, юзается в одном из университетов, с веб-мордой и рейтингами (открыта для всех желающих): iq.karelia.ru/
                                                                                                          • +2
                                                                                                            Из ломающих систему хорошие специалисты получаются, а те, кто просто пользуются результатами их труда, потом на следующих экзаменах заявляют: «ICMP не использует IP-адреса и является протоколом прикладного транспортного уровня».
                                                                                                          • –1
                                                                                                            Вот честно, года два назад я проходил этот курс сетей вроде и знаете, эта война прошла как-то мимо меня :(
                                                                                                            • 0
                                                                                                              Хе… У нас в университете был предмет «Проблемы устойчивого развития» и одним из зачетов было прохождение эмулятора экономической игры какой то.
                                                                                                              Суть в том, что ты на сайте игры вводишь в форму значения типа «на развитие сельского хозяйства в этот год выделить столько-то» «увеличить гос. долг на столько то» а она в ответ пишет результаты типа «рост населения такой то» «рост прибыли такой то» «качество жизни такое то» и исходные данные для следующего шага… И самое главное — пишет сколько баллов ты получишь исходя из результатов.

                                                                                                              А после студент должен исходя из полученных результатов написать отчет.

                                                                                                              Так вот, я сделал сайт — генератор отчета по результатам игры. Суть в том, что человек на моем сайте вводит пароль от личного кабинета игры, мой сервер скачивает страницу результатов и генерирует ему шаблонный отчет но с его цифрами и графиками… Но помимо генерации отчета робот скачивает и историю ходов — на каком ходу что студент вводил в форму.

                                                                                                              После этого любой другой студент может зайти на мой сайт и нажать на кнопку «накати ответы этого студента на мою игру» — запускался веб-паук который заполнял формы и отправлял сайту игры — фактически результаты копировались. Очень многие воспользовались. Но потом эту тему прикрыли к сожалению.
                                                                                                              • 0
                                                                                                                Смел красава конечно. Столько хитроумных тестеров за просто так поимел. А они и рады стараться, ночами тест кейсы придумывают!
                                                                                                                • +2
                                                                                                                  А ведь едва 1% понял, что «смел» это не краткое прилагательное ;)
                                                                                                                  • 0
                                                                                                                    Судя по личностям комментаторов — процентов 50.
                                                                                                                • 0
                                                                                                                  На МехМате МГУ один из предметов включал в себя автоматическое тестирование. Базу данных этого тестирования увели несколько лет назад. В этом году очередной курс сдавал с помощью нее тест.
                                                                                                                  Самое веселое, что один из вопросов в базе имеет неправильный ответ и каждый год несколько человек доказывают преподавателям, что они ответили верно, а система определила неверно.
                                                                                                                  • 0
                                                                                                                    Скрипта для вытаскивания не было… Всё ручками. А то что на попытку по 10 секунд уходило, так то мастерство.

                                                                                                                    И сдается мне скрипт бы обделался, учитывая вероятность получить 100% и так максимум 1/4^100, а еще были вопросы с большим кол-вом вариантов, вопросы с галочками и вопросы на ввод ответа.
                                                                                                                    • 0
                                                                                                                      1/4^10 конечно, но это всё равно достаточно мало, учитывая, что, скажем, к одной из глав было более 200 вопросов и выдаются они рандомно.
                                                                                                                      • 0
                                                                                                                        Мне о скрипте рассказали люди, у которых количество попыток самотестирование измерялось то ли десятками, то ли сотнями тысяч. Думаю, за такое число попыток реально утянуть базу, если хоть какие-то начальные знания из гугла зашить вручную.
                                                                                                                        • 0
                                                                                                                          А в какой год это было? Скрипт в смысле?
                                                                                                                          • 0
                                                                                                                            Кто ж теперь вспомнит… 2004 или 2005 год, надо полагать.
                                                                                                                            • 0
                                                                                                                              Ну, тогда, надо полагать, присочинили.

                                                                                                                              Да и я прикидываю, и сотня тысяч попыток не спасет, если не забить ответы на половину вопросов всё ж вручную. А для этого еще сами вопросы нужны.
                                                                                                                              • 0
                                                                                                                                В 2005 не было никакого скрипта. Были боевые человекоподобные ботаны, которые собирали вопросы с правильными ответами во время тренировочных тестирований. И была веб-страничка, на которой сверху был скриншот страницы входа в систему, а внизу белым по белому правильные ответы.
                                                                                                                        • 0
                                                                                                                          Мне вот больше нравится момент, когда собирали скриншоты и через картинки и работали, сравнивали картинку в тесте с картинкой в базе, жали их по-дикому, чтобы база на дискету влезала. В частности, когда нужно было внести в базу вопрос не со скрина, создавалась страничка с этим вопросом, подгонялись шрифты и с неё брался скриншот.

                                                                                                                          Это всё вместо того, чтобы текст захватывать, дело то тоже нехитрое было. А так зато сколько навыков :)
                                                                                                                          • 0
                                                                                                                            Когда-нибудь по этой эпической саге снимут фильм. (:
                                                                                                                            • 0
                                                                                                                              по-моему, в процессе этой войны студенты лучше обучились IT, чем за весь тот курс, что они сдавали :-)
                                                                                                                              • 0
                                                                                                                                Отчасти напоминает мои отношения со студентами, на которых я обкатывал собственную систему тестирования. Правда, у нас было более конструктивно — мы в дружелюбной обстановке искали баги и выдумывали новые фишки для реализации.
                                                                                                                                • +1
                                                                                                                                  я участвовал в этой битве. Кстати от обычного парсинга вопросов из базы до дискеток с программой распознования изображений прошло менее полугода.

                                                                                                                                  ТС забыл упомянуть такой момент:
                                                                                                                                  Факультет: Мы запускаем систему дистанционного обучения. Каждому студенту дается индивидуальный логин-пароль. Система будет следить кто, когда и сколько времени находился в системе, сколько и чего прочитал. Те кто мало заходил в систему не получат хорошую оценку.
                                                                                                                                  Студенты: Хм. php+curl. Прога сама за нач будет «обучаться». Заодно скачает тексты уроков для подготовки в ночь перед экзаменом

                                                                                                                                  Факультет: Что-то странное творится. С одного IP сидит пол курса. А самое интересное, сидят круглосуточно и даже во время лекций! Непорядок.
                                                                                                                                  Студенты: Хм. php+curl+random+cron+proxy.

                                                                                                                                  Факультет: +Тренировочные тесты
                                                                                                                                  Студенты: хм. php+curl+random+cron+proxy+sqlite Проходит тестирование и собирает базу вопрос с ответами.

                                                                                                                                  Ну а дальше то что написал топикстартер.

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

                                                                                                                                  Когда пришла пора собирать ответы, то (не знаю как другие) мой скрипт не просто случайно проходил тест, это долго. Из всего теста находился вопрос, ответ на который пока нет в базе, ставился на него ответ(который еще не пробовал) и завершал тестирование. Если результат теста не 0, то ответ считался правильным на этот вопрос и он заносился в базу.

                                                                                                                                  Сама система обучения работала крайне медленно, то работа скрипта на одном компе крайне медленно заполняла базу. Но есть доступ на мощный сервер на факультете. Скрипт дорабатывается, sqlite база переносится на mysql, доступ к базе открывается через интернет.

                                                                                                                                  В итоге сервер с системой дистанционного обучения «атакуется» сервером стоящим в той же комнате.
                                                                                                                                  • 0
                                                                                                                                    Это случайно не МГУ?

                                                                                                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.