Архив рубрики: веб

Как сделать редирект с http на https

Что такое HTTPS? Выдержка из Wikipedia:

HTTPS (HyperText Transfer Protocol Secure) — расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL или TLS.

Далее вы найдете различные методы редиректа пользователя на HTTPS соединение с помощью htaccess.
Читать далее

Сканер на наличие уязвимости конфигурации nginx

Пример уязвимой конфигурации:

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}

Эксплуатация: /image.gif/.php или при помощи нулл-байта: /image.gif%00.php

Я наклепал на php сканер, который по указанному гугл-дорку проверяет каждый url на наличие уязвимости.

Суть работы такова: Запрашивается robots.txt. Ежели он отсутствует, запрашивается favicon.ico. Затем к этому url прибавляется /.php или %00.php и сравнивается размер содержимого и content-type.

Если размер не изменился, а content-type стал text/html — значит уязвимость присутствует.

Ссылка на сканер: http://wwwroot.org/releases/nginx_scan.php.txt

Использование. Запускаете /nginx_scan.php?from=1&to=10&num=10 — искать в гугле от страницы from до страницы to по num url на страницу.

Дорк измените в коде. Логи пишутся в nginxlogs.txt. Статистику смореть так: /nginx_scan.php?stat=1.

Очевидные 3 правила безопасности

Правило №1. Делайте все авторизационные куки HttpOnly

Куки с флагом HttpOnly не видны браузерному коду, а отправляются только на сервер. На практике у вас почти никогда нет необходимости получать их содержимое со стороны клиента (если такая необходимость почему-то у вас возникла — пересмотрите архитектуру авторизации, скорее всего, там что-то не так). А вот злоумышленнику, нашедшему XSS — а XSS так или иначе когда-нибудь где-нибудь найдется — отсутствие HttpOnly на авторизационных куках доставит много радости.

Читать далее