Попрошу не удалять хотя бы этот постинг. Я попытаюсь доказать вам что я еще чего-то стою и подняться в ваших глазах.
Два месяца назад, зайдя на сайт платежной системы CyberPlat и немного побродив по нему я нечаяно(честно-честно я не хотел) в запрос http://www.cyberplat.ru/megafon/main.php?p=1 вместо "1" вставил "Xakup". И что же получилось? А получилось: Warning: Failed opening 'XAkup.php' for inclusion.Тут я страшно испугался, решив что поломал cyberplat и что больше так не буду. О чем и сообщил на все мыла, которые встретил на сайте в разделе "контакты", в том числе и в их отдел безопасности. Прошло 2 месяца, захожу на их сайт, баг так и не исправили (письма от них я тоже не получил). Решил покопатся в кишочках сайта. Вот что я нашел там:
www.cyberplat.ru\megafon\ почти все php скрипты в этом разделе содержат строки <? $p=$HTTP_GET_VARS["p"]; switch ($p){ case "1":$p="list_mobile";break; case .... и.т.д. } include ("$p.php"); ?> Это есть, например, в www.cyberplat.ru/megafon/main.php и www.cyberplat.ru/megafon/admin.php Т.е. классический php инклудинг так сказать... Но и других багов тут немало. Например ВСЕ переменные, которые передаются в sql запросы вообще никак не проверяются и в результате получается вот это: [пример из файла station.php] $id=$HTTP_GET_VARS["st"]; $query1="select * from $table where station_id=$id and done=1"; Еще один пример криворукости скриптмейкера этого сайта(его имя и мыло указаны тут же как гордое "//made by Andrey Alferov alferov@aport.ru" вместе со строчкой "ВыбИрите отображение") , в файле add_mts.php. Тут в базу добавляется новый дилер, как я понял, но вот добавить может любой, кто знает где этот скрипт лежит, и какие переменные используются. Множество неинициализированый переменных с скриптах, напрмер в grandsoftcity.php: $query1="select * from $table1 where done=1"; table1 не инициализирована, что позволяет изменить запрос. И наконец сиситема администрирования баз данных сайта www.cyberplat.ru. Ее можно найти по тут. Нас просят ввести пароль, но как видно дальше только для того, чтобы узнать урл скрипта администрирования, сам то скрипт никакие пароли не проверяет. Кстати о паролях. Я конечно понимаю, что не все в силах запомнить киргуду из хотя бы 8 символов, но ставить пароли, на доступ к базе нужно посложнее чем "123456" и "654321" как здесь. Единственный нормальный пароль я встретил у рута, ну может еще и на sql базу, и то, потому-что эту базу устанавливал рут, а не красноглазый пионер, которому поручили web интерфейс
--------------- Модерам всяческий респект и гритз!
Давайье ассмотрим как вы бы могли без проблем ломануть сайт!
итак приступим! вот принцип страници с ПХП
<html> .... <?php .... global $p; .... include ("$p.php"); .... ?> .... </html>
а вот что вам надо было сделать: зарегить какой-нить сраный сайт, да хоть на народе, поддержка серверных скриптов нам не нухна, закачать туда маленький файлик!