Pull to refresh

Comments 44

Часто за всем не уследишь :) А вы — молодец! Так и нужно реагировать на подобные вещи!
за POSTом надо следить в первую очередь независимо от того какой сложности скрипт ты пишешь.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Да, потому что hash звучит как хэш, а hacker как хакер.
При чём там буква э?
Вы hewlett packard тоже читаете как пэкард? :)
UFO landed and left these words here
Надеюсь что действительно только Вы один до этого додумались, другие то могли и сплоиты повесить на квип.ру, а еще другие заразить скачиваемые аськи своими троянами, да или просто угнать пароли, мы то знаем что сервис webim.qip.ru сохраняет все переписки наши, пароли и так далее и жестко навязывают конечному пользователю свой jabber аккаунт у них, без которого не запуститься qip если не иметь сноровку.
UFO landed and left these words 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 landed and left these words here
Всем спасибо за комментарии, было приятно.
UFO landed and left these words here
Мораль проще, не include'ь и не require'ь файлы с именами из параметров запроса оО
UFO landed and left these words here
Я считаю, они должны вам денег. Могли пострадать, если бы вы не сообщили о дыре.
UFO landed and left these words here
Ну, раз столько пафоса про простую дырку, значит денег вам не дали :)
>>> Правда закрыл не с первого раза, сначала они сделали замену "/" в переменной, то есть, была возможность юзать "\"…

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

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

Articles