Любые проблемы со следующей работой для php-ошибки # 53632

Мне нужно быстрое исправление для php, чтобы предотвратить атаки, удаляющие мой сервер, связанные с ошибкой php # 53632

Некоторые из моих серверов 32-битные и содержат различные клиентские php-скрипты.

В идеале я буду исправлять PHP до последней версии, но в то же время я подумал, что с помощью директивы auto_prepend_file php.ini автоматически включить исправление купит мне некоторое время. Можете ли вы увидеть какие-либо проблемы с этим временным исправлением?

Поэтому я редактировал файл php.ini и добавлял:

auto_prepend_file = c:\wamp\www\php-53632-fix.php 

Код:

 <?php if ($_REQUEST) { foreach ($_REQUEST as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_REQUEST[$fixKey]); unset($_COOKIE[$fixKey]); unset($_POST[$fixKey]); unset($_GET[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_REQUEST); unset($fixKey); unset($fixValue); } if ($_SERVER) { foreach ($_SERVER as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_SERVER[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_SERVER); unset($fixKey); unset($fixValue); } с <?php if ($_REQUEST) { foreach ($_REQUEST as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_REQUEST[$fixKey]); unset($_COOKIE[$fixKey]); unset($_POST[$fixKey]); unset($_GET[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_REQUEST); unset($fixKey); unset($fixValue); } if ($_SERVER) { foreach ($_SERVER as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_SERVER[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_SERVER); unset($fixKey); unset($fixValue); } с <?php if ($_REQUEST) { foreach ($_REQUEST as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_REQUEST[$fixKey]); unset($_COOKIE[$fixKey]); unset($_POST[$fixKey]); unset($_GET[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_REQUEST); unset($fixKey); unset($fixValue); } if ($_SERVER) { foreach ($_SERVER as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_SERVER[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_SERVER); unset($fixKey); unset($fixValue); } с <?php if ($_REQUEST) { foreach ($_REQUEST as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_REQUEST[$fixKey]); unset($_COOKIE[$fixKey]); unset($_POST[$fixKey]); unset($_GET[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_REQUEST); unset($fixKey); unset($fixValue); } if ($_SERVER) { foreach ($_SERVER as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_SERVER[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_SERVER); unset($fixKey); unset($fixValue); } с <?php if ($_REQUEST) { foreach ($_REQUEST as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_REQUEST[$fixKey]); unset($_COOKIE[$fixKey]); unset($_POST[$fixKey]); unset($_GET[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_REQUEST); unset($fixKey); unset($fixValue); } if ($_SERVER) { foreach ($_SERVER as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_SERVER[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_SERVER); unset($fixKey); unset($fixValue); } с <?php if ($_REQUEST) { foreach ($_REQUEST as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_REQUEST[$fixKey]); unset($_COOKIE[$fixKey]); unset($_POST[$fixKey]); unset($_GET[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_REQUEST); unset($fixKey); unset($fixValue); } if ($_SERVER) { foreach ($_SERVER as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_SERVER[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_SERVER); unset($fixKey); unset($fixValue); } с <?php if ($_REQUEST) { foreach ($_REQUEST as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_REQUEST[$fixKey]); unset($_COOKIE[$fixKey]); unset($_POST[$fixKey]); unset($_GET[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_REQUEST); unset($fixKey); unset($fixValue); } if ($_SERVER) { foreach ($_SERVER as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_SERVER[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_SERVER); unset($fixKey); unset($fixValue); } с <?php if ($_REQUEST) { foreach ($_REQUEST as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_REQUEST[$fixKey]); unset($_COOKIE[$fixKey]); unset($_POST[$fixKey]); unset($_GET[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_REQUEST); unset($fixKey); unset($fixValue); } if ($_SERVER) { foreach ($_SERVER as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_SERVER[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_SERVER); unset($fixKey); unset($fixValue); } с <?php if ($_REQUEST) { foreach ($_REQUEST as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_REQUEST[$fixKey]); unset($_COOKIE[$fixKey]); unset($_POST[$fixKey]); unset($_GET[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_REQUEST); unset($fixKey); unset($fixValue); } if ($_SERVER) { foreach ($_SERVER as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_SERVER[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_SERVER); unset($fixKey); unset($fixValue); } с <?php if ($_REQUEST) { foreach ($_REQUEST as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_REQUEST[$fixKey]); unset($_COOKIE[$fixKey]); unset($_POST[$fixKey]); unset($_GET[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_REQUEST); unset($fixKey); unset($fixValue); } if ($_SERVER) { foreach ($_SERVER as $fixKey => $fixValue) { if (strstr(str_replace('.','',$fixValue),'22250738585072011')) { unset($_SERVER[$fixKey]); $GLOBALS[$fixKey]=""; } } reset($_SERVER); unset($fixKey); unset($fixValue); } 

Related of "Любые проблемы со следующей работой для php-ошибки # 53632"

Это зависит от того, что никакого скрытия переменной REQUEST не происходит.

Ввод злонамеренного запроса на index.php? Var = 2.22507 … и предоставление переменной POST также называется var, только один будет отображаться в массиве REQUEST. Требуется максимум два и минимум один запрос обходить этот фильтр.

  GET[var] POST[var] REQUEST[var] req1 test 2.225.. test req2 2.225.. test 2.225.. 

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

Каждый массив следует проверять отдельно. На самом деле, вы даже можете уйти, не проверив REQUEST, это совокупность. Это немного больше накладных расходов, но это более безопасно, если вы не можете гарантировать, что вы никогда не используете $ _GET, $ _POST или $ _COOKIE непосредственно в своем коде.

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

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

См. http://www.aircraft24.com/ru/info/php-float-dos-quickfix.htm для нашего последнего решения.