Привет всем, думаю вы уже поняли о чем идет речь Статья должна была быть еще ночью, но из-за эпичного фэйла она не была написана =\ Попробую восстановить ход своих мыслей Все началось с того что я решил зайти в свою запустевшую офф. группу нашего сайта, увидел что люди переписываются в обсуждениях, взор пал на ссылку, перешел по ссылке и увидел нечто иное похожее на создание обменника вконтакте, в котором существует лишь одна функция, и написан он, уже не на быдло варианте ahk, а на devel studio. Доменное имя сайта дало мне ясно понять, что это сайт школьника, и "КОДИРА" бабона. Конечно же спасибо что он выставил почти допиленный исходник обменника на всеобщее обозрение. Как раз таки этим мы, и займемся Хорошо что я успел репостнуть весь исходник к себе в pastebin.com, по не понятным причинам на сайт бабона я сегодня так и не зашел. Давайте для начала рассмотрим его реализацию, обменник реализован на devel studio. Хороший выбор для школьников наряду с ahk. Скорей всего манера кодить в devel studio у школьников пошла с времен расцвета создания фейков(Примерно январь-апрель 2011 года), в эти время все активно создавали фейки, и раскручивали Я сам в это время очень хорошо нажился. Сейчас в сети куча уроков как создать фейки на devel studio(ниже ds), парочка есть даже на нашем сайте. Delphi for PHP? Не не слышал. Так чем же плох этот ds? 1.Большой вес бинарника 4 мб 2.Требуется библиотека ds'a в папке с программой 3.Размер бинарника с вложенной библиотекой от 7 мб 4.Программа уже упакована upx'ом 5.Не обработанные функции вызывают ошибки, и показ частей кода 6.Не подходит для стоящих примеров 7.Если не ошибаюсь то он требует framework(!Cомневаюсь) А теперь перейдем к осмотру кода Вот сам исходник: http://pastebin.com/smF6KVxf Взглянем на 6-8 строку, и что же мы видим? При вводе не правильного пароля программа закрывается, ну нихрена ж себе. Это что каждый кто плохо помнит свой пароль должен по 100500 раз открывать программу? Ну зачем так делать? Нет чтобы сделать очистку полей, и предупреждение что пароль неправильный, ну ничего школоте позволительно. 13 строка дала нам ясно понять, что при входе в софт обмен запускается автоматически, ни тебе паузы обмена, ни тебе запуска обмена. Чтобы остановить обмен нужно выйти из программы, мда, глупее я ничего не видел. Дальше мы видим банальную функцию конекта, думаю большинство школьников думает что ее надо вставлять в любой ниибически крутой скрипт для вк. Далее идет разврат, хаос, пьянство наркомания.. На 42 строке указан какой то файл friends.php, хм, автор ничего не сказал про него, но он приложил ко всему этому мой немного измененный серверный скрипт. Хм, а изменил он всего лишь названия, и другие параметры, что позволительно. Но зачем он формат баз изменил на php? Входные данные в серверный скрипт никак не фильтруются, и можно внести в базу любое значене, а соответственно можно с помощью маленьких действий похакать нахрен весь обменик, и сервер тоже, но не об этом ребята речь Смотрим строки 45-46, ну зачем так делать? Как я понял скрипт получает список с айдишниками, выбирает рандомный айдишник, и добавляет в друзья. Никаких проверок есть ли человек в друзьях, или нету - вовсе нету. Получается мы будем отправлять запросы по 100 раз человеку который у нас есть во френдах, замечательно. И зачем выбирать рандомно из списка? Нет чтобы создать на компе файл с айдишниками, и по списочку выбирать айдишник, и добавлять во френды. Чтобы не добавлять повторно сделали б игнор лист. Строки 55-57 привели меня в ужас, зачем он делает проверку, и ничего не выполняет? Только если иначе он добавляет в айдишник в базу. if(!preg_match('/'.$myid[1].'/',$u)){Добавление в базу}. Не, не слышал. 58 строка явное подражание вкобмену. Ух ты, это все еще повторяется раз в 7 секунд, хм интересно. So, пора подводить итоги, что же ламерское мы тут нашли? А вот и списочек: 1) Реализован на ds 2) При неверном пароле программа закрывается 3) Нельзя запустить, остановить накрутку 4) Нет фильтрации входных данных в серверном скрипте 5) Базы созданы с расширением .php (При наличии вы поймете связь 4-5 пункта) 6) Нет нормальной реализации обмена 7) Раз в семь секунд юзер обращается к серверу 1000 юзеров = 7000 запросов за раз (Легкая ddos атака) Нет банальных проверок аля есть ли юзер во френдах 9) Нет игнор листа 10) Создание хеша на "высоте" 11) Автор еще школьник, и врятли знает тонкости языка php На этом мой обзор заканчивается, всем удачи, всем пока, фильтруйте данные
|