Pull to refresh

Comments 44

Часто за всем не уследишь :) А вы — молодец! Так и нужно реагировать на подобные вещи!
за POSTом надо следить в первую очередь независимо от того какой сложности скрипт ты пишешь.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Да, потому что hash звучит как хэш, а hacker как хакер.
При чём там буква э?
Вы hewlett packard тоже читаете как пэкард? :)
UFO just landed and posted this here
Надеюсь что действительно только Вы один до этого додумались, другие то могли и сплоиты повесить на квип.ру, а еще другие заразить скачиваемые аськи своими троянами, да или просто угнать пароли, мы то знаем что сервис webim.qip.ru сохраняет все переписки наши, пароли и так далее и жестко навязывают конечному пользователю свой jabber аккаунт у них, без которого не запуститься qip если не иметь сноровку.
UFO just landed and posted this here
В этот раз да, видимо обошлось.
Не первый раз qip.ru нагибают, опыт уже есть.
жестко навязывают конечному пользователю свой jabber аккаунт

Молодцы же!
> Вы один до этого додумались, другие то могли и сплоиты повесить на квип.ру, а еще другие заразить скачиваемые аськи своими троянами

Уже не модно :) Старые сборки qip 2005 были заражены Induc'ом.
жестко навязывают конечному пользователю свой jabber аккаунт у них, без которого не запуститься qip

qip 2010 вам в помощь
Любой программист должен заучить мантру: «Не доверяй данным»
Есть ещё одна, реже используемая: «Они ни в коем случае не должны напрямую участвовать в инклудах.»
Можно использовать if, case, etc…
Например:
$city = trim($_POST['data']);
if (!empty($city)) {
  switch($city) {
   case '1':
   case '2':
   case '3':
     $this->showBlock($city);
     break;
   default:
     $this->showError(404);
     break;
  }
}


Или так (упрощённый вариант):
$city = trim($_POST['data']);
if (!empty($city) and is_numeric($city)) {
  $this->showBlock($city);
}else{
  $this->showError(404);
}


… и ещё полторы тысячи способов фильтрации данных, применяемых по обстоятельствам.

Но никогда не должно быть чего-то подобного: include($_POST['data']);
UFO just landed and posted this here
Всем спасибо за комментарии, было приятно.
Сколько здесь античатовцев…
UFO just landed and posted this here
Мораль проще, не include'ь и не require'ь файлы с именами из параметров запроса оО
UFO just landed and posted this here
Я считаю, они должны вам денег. Могли пострадать, если бы вы не сообщили о дыре.
UFO just landed and posted this here
Ну, раз столько пафоса про простую дырку, значит денег вам не дали :)
>>> Правда закрыл не с первого раза, сначала они сделали замену "/" в переменной, то есть, была возможность юзать "\"…

Ужас, он хотя бы информатику в школе учил интересно?
«А если заинклдуить логи апача, предварительно снабдив их «ядовитым кодом» в поле User-Agent»

Уже давно есть много различных методов.
/proc/self/environ
Вообще, Xakep.ru
/proc/self/environ к примеру был, реально много различных методов:)
Sign up to leave a comment.

Articles