Бывает случаи, когда есть шелл, но на запись не доступны .htaccess, index.php, шаблоны etc, а код нужно как-то вставить.
1)
Joomla
В Joomla папка
/cache/ доступна на запись в 99.99% случаях.
1. Открываем новую вкладку, вводим туда адрес взломанного сайта, но не переходим.
2. В шелл идем в папку /cache/, удаляем папку /page/ (она очистится). Если все удалили, быстро переходим к п.3.
3. Переходим по ссылке п.1.
4. Открываем папку /cache/page. Там будут файлы hash.php, hash.php_expire. Ищем среди hash.php файлов наш индекс или любую другую нужную страницу.
5. Как нашли нужный hash.php, открываем его hash.php_expire, и вместо циферок(timestamp) вставляем
1597912277. 1597912277 = Thu, 20 Aug 2020 08:31:17 GMT. Тоесть наш hash.php будет жить до 2020 года

6. Вставляем нужный код в hash.php
7. Профит.
2)
DLE
В DLE обычно бывает доступным на запись файл конфигурации
/engine/data/config.php в 80% случаях.
1. Открываем /engine/data/config.php.
2. Выбирайте любой, DLE выводит их без всякой обработки:
Код:
'home_title' => "";
'description' => "";
'keywords' => "";
3. XSS
4. Профит
P.S. В Joomla тоже можно c configuration.php.