Записи по тегу: безопасность

Необычная защита от PHP Include

7 комментариев

Нестандартное мышлениеДавайте с вами подумаем кто такой хакер? Хакер — это не взломщик! Люди часто путают эти понятия. Хакер — это прежде всего человек с нестандартным мышлением, и в этом его сила, если можно так сказать.

Чтобы успешно противостоять хакеру, нужно также научится нестандартно мыслить. Как говорится, клин клином вышибают.

Сегодня я предложу вам очень необычный способ защитится от атак типа php include. Подходит он конечно далеко не всем. И если чесно защищает он не от самой атаки, а от ее обнаружения. Заинтриговал?
Читать далее →

Решаем проблему CGI и PHP.ini

3 комментария

phpВспоминаем статью PHP и CGI. Обход ограничений безопасности. Основная мысль:

В общем мало или много кто знает, что при подключении php к апачу через cgi, есть возможность конфигурировать чуть ли не каждый скрипт отдельно. А если более конкретно, то для каждой папки с php скриптами может быть создан свой файл php.ini со своими настройками, которые перезапишут глобальные настройки.

А это создает огромную брешь в безопасности, т.к. можно обойти любые запреты и ограничения указанные в оригинальном php.ini. Причем на  просторах интернета отсутствует какая либо внятная информация о запрете данного поведения

Наконец поднял для тестов сервер с fastcgi+php для тестов, и, во-первых, разобрался почему так происходит, а, во-вторых, нашел способ отключить это.
Читать далее →

Концепт защиты PHP сайта

24 комментария

Все мы, так или иначе, хотели бы быть уверенны в том, что наш сайт или блог никто не сможет взломать. Но увы, реальность такова, что любая система уязвима, как бы сильна она не была бы защищена. Все упирается лишь в ресурсы и в упорство взломщика… Хм… Что то меня не туда потянуло… Будем считать это предисловием =)

Не так давно я писал о том как правильно загружать файлы на сервер. Но допустим вы взяли уже готовую CMS и не знаете, как там реализованна загрузка, да и вобще вся защита. Конечно, особо пытливые и грамотные разработчики изучат код этой цмс прежде чем поставят на свой сайт. Но что делать тем у кого нет столько времени?

Хорошо, или допустим вы из тех кто считает что безопасность и правильная настройка сервера лишней не бывает? Если так то добро пожаловать под кат.

Нет, в статье вы не найдете какой-то супер пупер плагин, фильтрующий все данные, который нужно приинклудить ко всем файлам. Моя идея заключается в использовании директивы auto_prepend_file и постройки списка разрешенных файлов… Но в общем читайте сами…

Данная идея у меня давно сидела в голове, но наконец у меня дошли руки, хоть ничего сложного тут и нету, и я смог эту систему реализовать и написать статью =)
Читать далее →

А как Вы загружаете файлы на сервер?

20 комментариев

«…или почему фильтрация по черному списку это плохо?»

Представим обычную загрузку файлов с помощью php. Я думаю все с этим сталкивались. Отбросим извращенные варианты, типа хранения файлов в базе, их переименовывание и прочее. Возьмем именно обычную наипростейшую форму загрузки файлов.

Обычно это форма на хтмл, затем серверная валидация по расширению загружаемого файла и последующий перенос загруженного файла из временной папки в папку загрузок. Отбросим все миллионы ошибок, которые совершают программисты в этих, казалось бы простейших, вещах, и посчитаем что этот функционал реализован грамотно и без ошибок.

Встает вопрос, а как именно фильтровать расширения файлов? Существуют два варианта:

  • По белому списку — составляем список допустимых расширений файлов, а все остальные блокируем
  • По черному списку — составляем список блокируемых расширений, а все остальные загружаем

Беда в том что для реализации фильтрации по белому списку нужно предусмотреть все возможные варианты нужных расширений которые будет загружать наш скрипт. И если для мест где необходимо загружать только картинки — все просто, то во многих других случаях прийдется составить довольно большой список легитимных расширений. Поэтому многим разработчикам кажется, что следует пойти от обратного, и запретить опасные расширения.

И если в первом случае многие уверены, что будут залиты файлы только с требуемыми расширениями (в статье я расскажу вам как можно обойти и это), то вот во втором случае не все так просто.

Эта статья о том чем плоха фильтрация по черному списку, и как этот фильтр можно обойти. А также приятным бонусом добавлю способ обхода фильтра по белому списку (и даже это возможно! о как!)

Читать далее →

PHP и CGI. Обход ограничений безопасности

5 комментариев

Сегодня пришло вот в голову что неплохо было бы рассказать о такой интересной особенности связки php и cgi (и fastcgi тоже).

В общем мало или много кто знает, что при подключении php к апачу через cgi, есть возможность конфигурировать чуть ли не каждый скрипт отдельно. А если более конкретно, то для каждой папки с php скриптами может быть создан свой файл php.ini со своими настройками, которые перезапишут глобальные настройки.

Сегодня мне подумалось, что эту фишку можно использовать в корыстных целях. К примеру в php есть несколько различных опций настроек, таких как сейфмод или опенбейсдир… Догадываетесь к чему я клоню? Дада, их в связке php+cgi можно легко обойти! Читать далее →

Уязвимость CSRF. Скрываем Referer при редиректе

Оставьте свой комментарий

Здравствуйте.

Сегодня я дополню цикл статей про CSRF. Но теперь я буду плавно переходить на «ту сторону баррикад». Как говорится кто предупрежден, тот вооружен. Если разработчик будет знать как орудует злоумышленник то он будет знать как и от чего защищаться.

Эта статья является переработанным переводом статьи «Stripping Referrer for fun and profit» зарубежного автора Krzysztof Kotowicz. Мне понравились методы используемые в его статье и я хочу поделится ими с вами. Обращу ваше внимание что это все же переработанный перевод, так как часть материала предложенного в оригинале я уже изложил у себя в статьях, и дублировать его я смысла не вижу.

В общем если вас интересует как отредеректить пользователя без указания Referer то прошу под кат :)
Читать далее →

Уязвимость CSRF. Защита

20 комментариев

CSRF уязвимость Продолжаем цикл статей на тему уязвимости CSRF

В прошлой статье я попытался описать что именно представляет из себя данная уязвимость и, что не маловажно, выполнение каких условий необходимо для проведения атаки типа CSRF.

В данной статье я попытаюсь рассказать о защите от атак данного типа со сторон:

  • Со стороны клиента — основные способы защитить себя самому
  • Со стороны сервера — правильное проектирование приложения

Если вам интересно как защититься от CSRF то добро пожаловать под кат.
Читать далее →

Хранение паролей пользователей

8 комментариев

Любой разработчик рано или поздно сталкивался с проблемой, которая заключалась в том, как ему правильно организовать хранение паролей зарегистрированных пользователей в БД.

Я конечно не буду отрицать что статей в интернете на эту тему достаточно, но ни одна на мой взгляд не освещает всех тонкостей казалось бы такого простого процесса. Для понимания этих тонкостей разработчику необходимо наличие умения оценивать систему со стороны взломщика, а для этого необходим хотя бы небольшой опыт в этой сфере (по принципу «кто предупрежден, тот вооружен»). К сожалению, у большинства разработчиков такого опыта нет, и безопасность своих приложений они строят на основе скудной информации найденной в интернете.

В этой статье я попытаюсь рассмотреть минусы хранения открытых паролей в БД. Попытаюсь убедить в необходимости хешировать каждый пароль. Также попытаюсь объяснить зачем нужна «соль» и какой она бывает. Ну и вкратце расскажу про разные алгоритмы хеширования.
Читать далее →

Гугл платит за баги. Правда или вымысел?

5 комментариев

Гугл - корпорация злаВсем известно, что гугл, наверное одна из первых корпораций, которая решила платить за найденные в их продуктах, баги. И, буквально, вчера гугл выделил под это один миллион долларов. Это, конечно, круто и, на первый взгляд, достойно уважения.

Но интересно насколько гугл справедлив и объективен в оценке стоимости своих уязвимостей? Казалось, если под это дело выделен целый лям баксов, то можно бы особо и не скупится. Но, как оказалось, в гугле сидят или очень жадные люди, или люди, которые не могут трезво оценить стоимость предоставленных им уязвимостей.

К примеру во сколько бы вы оценили стоимость уязвимости, которая позволила бы вам взломать половину всех пользователей планеты? А хотите узнать во сколько оценил эту уязвимость гугл?
Читать далее →

Рубрика «Антихакер»

4 комментария

Сегодня решил открыть эту рубрику.

У меня есть неплохой опыт в аудите безопасности. И в голове проскакивают новые идеи. Вообщем своим опытом и новыми идеями в методах противодействия хакерам я буду делится в этой рубрике.
Читать далее →