Модератор files 2844 Posted March 12, 2020 Модератор Report Share Posted March 12, 2020 Задачка для знатоков PHP. Дано: файл img.php который злоумышленник заливает через уязвимость на хостинг следующего содержания: <?php @$f = file('links.dba'); $c = file_get_contents(trim($f[$_GET['id']])); if (isset($c)) { Header('Content-type: image/jpeg'); echo $c; } else @header('Location:'.$f[$_GET['id']]); ?> Вопрос: каким образом он может воспользоваться этим кодом для заливки файлов на хостинг? Вижу, что в переменную id через GET запрос скорее всего подставляется внешний урл с каким-либо содержимым (шеллом например), но в целом, не могу понять логику скрипта. Кто-может подсказать? /img.php?id=.... Link to post Share on other sites
VIP mrak7575 349 Posted March 12, 2020 VIP Report Share Posted March 12, 2020 3 часа назад, files сказал: Задачка для знатоков PHP. Дано: файл img.php который злоумышленник заливает через уязвимость на хостинг следующего содержания: <?php @$f = file('links.dba'); $c = file_get_contents(trim($f[$_GET['id']])); if (isset($c)) { Header('Content-type: image/jpeg'); echo $c; } else @header('Location:'.$f[$_GET['id']]); ?> Вопрос: каким образом он может воспользоваться этим кодом для заливки файлов на хостинг? Вижу, что в переменную id через GET запрос скорее всего подставляется внешний урл с каким-либо содержимым (шеллом например), но в целом, не могу понять логику скрипта. Кто-может подсказать? /img.php?id=.... вот что написали в вк не реклама / https://vk.com/howdyho_net?w=wall-84392011_605608 Link to post Share on other sites
woolfon 51 Posted March 13, 2020 Report Share Posted March 13, 2020 Видно же что при обращении к /img.php?id= получаем имитацию изображения. Оно не существует на хостинге, но открывается как изображение и его даже можно сохранить через браузер к себе на комп. 1. в links.dba лежат урлы похоже зараженных изображений 2. в переменную $c загоняем содержание изображения 3. показываем изображение со своего хостинга через Header('Content-type: image/jpeg'); уж не знаю, если в итоге сервер исполняет на своей стороне php код из изображения, то вы мне сейчас америку открыли, не шучу) попробуйте закрыть исполнение php в директории куда грузят этот файл, если это возможно. Link to post Share on other sites
Roman2002 16 Posted March 13, 2020 Report Share Posted March 13, 2020 Добавлю еще, что при помощи этого кода можно посмотреть исходники ваших скриптов. UPD: только если в links.dba будут указаны к ним пути (например: ./img.php ) Link to post Share on other sites
Vovik 21 Posted March 13, 2020 Report Share Posted March 13, 2020 17 часов назад, files сказал: Задачка для знатоков PHP. Дано: файл img.php который злоумышленник заливает через уязвимость на хостинг следующего содержания: <?php @$f = file('links.dba'); $c = file_get_contents(trim($f[$_GET['id']])); if (isset($c)) { Header('Content-type: image/jpeg'); echo $c; } else @header('Location:'.$f[$_GET['id']]); ?> Вопрос: каким образом он может воспользоваться этим кодом для заливки файлов на хостинг? Вижу, что в переменную id через GET запрос скорее всего подставляется внешний урл с каким-либо содержимым (шеллом например), но в целом, не могу понять логику скрипта. Кто-может подсказать? /img.php?id=.... woolfon прав ничего не делает. Только транслирует свои изображения как Ваши. Могу предположить что можно подкидывать что-нитбудь нехорошее со ссылочкой с вашего хостинга. Последний товарищ коментатор сам не знает о чем пишет. Link to post Share on other sites
Модератор files 2844 Posted March 13, 2020 Author Модератор Report Share Posted March 13, 2020 2 часа назад, woolfon сказал: попробуйте закрыть исполнение php в директории куда грузят этот файл, если это возможно. Вопрос в другом, как и что можно сделать с помощью этого залитого файла? 1) В той же директории нет файла "links.dba". 2) При обращении к файлу, действительно предлагает скачать файл. Цитата Добавлю еще, что при помощи этого кода можно посмотреть исходники ваших скриптов. Можете проиллюстрировать? Link to post Share on other sites
woolfon 51 Posted March 22, 2020 Report Share Posted March 22, 2020 я на днях пытался у себя на OpenServer сделать похожу схему, с помощью WinHex добавил php код в jpg и разместил его на domain1. После чего создал на domain2 php файл с вашим кодом и пытался исполнить код в изображении для domain2. Ничего не вышло Link to post Share on other sites
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now