![]() |
Отсутствие проверки Id переменной
Продукт: PHP-Nuke
Версия: 8.0 и ниже Описание: В скриптах системы отсутствует проверка входных данных, поэтому при удачных стечениях обстоятельств (magic_quotes - OFF, register_global - ON, отсутствие фильтров SQL-инъекций), злоумышленник может выполнить SQL-Инъекцию. Устранение: Для более эффекта добавим проверку в главном файле. Открываем: mainfile.php Находим (43 строка): PHP код:
Ниже добавляем проверку: PHP код:
|
постоянно получаю следующие:
PHP код:
версия 7.9 3.2 2.0 |
отключите вывод notice на экране, или код выше перепишите (я подправил)
|
Soniks большое спасибо.
Кстати в версии 7.6 строчек, после которых нужно ставить код нет. Куда посоветуете там вставлять код? |
Я так понимаю, если в каждой функции каждого модуля стоит:
$sid = intval($sid); то это нафик ненужно? |
Anibus после писвоения глобальных переменных или до включения GZip
Alexander-V-Sh да |
PHPNuke 7.9 rus
При добавлении к коду в Mainfile.php // override old superglobals if php is higher then 4.1.0 if($phpver >= '4.1.0') { $HTTP_GET_VARS = $_GET; $HTTP_POST_VARS = $_POST; $HTTP_SERVER_VARS = $_SERVER; $HTTP_POST_FILES = $_FILES; $HTTP_ENV_VARS = $_ENV; $PHP_SELF = $_SERVER['PHP_SELF']; if(isset($_SESSION)) { $HTTP_SESSION_VARS = $_SESSION; } if(isset($_COOKIE)) { $HTTP_COOKIE_VARS= $_COOKIE; } } добавляю :pirate: :pirate: $lid = isset($_REQUEST['lid'])?intval($_REQUEST['lid']):""; $id = isset($_REQUEST['id'])?intval($_REQUEST['id']):""; $cid = isset($_REQUEST['cid'])?intval($_REQUEST['cid']):""; $pid = isset($_REQUEST['pid'])?intval($_REQUEST['pid']):""; $sid = isset($_REQUEST['sid'])?intval($_REQUEST['sid']):""; но при попытке прочитать какую-либо новость сайт не реагирует (страница грузиться бесконечно). Грешу на строку $pid = isset($_REQUEST['pid'])?intval($_REQUEST['pid']):""; при ее комментировании все становится на круги своя. Как исправить код? :pirate: : |
Val а какой у вас модуль Новостей? производили ли вы там изменения? какая версия системы?
|
Блок новостей - стандартный комплекта PHP Nuke 7.9 rus.
Версия в конфиге стоит Version_Num 8.0 В модуле изменения еще не проводил, тестирую на локалхосте в поисках багов и вот один обнаружился. |
у всех прошу прощения по поводу вопроса от 25.08.2007 20:48, все в порядке...
Хотя нет!!! Проблема осталась.Все таже строка... :sad: |
Часовой пояс GMT +4, время: 06:45. |
Copyright © 2005 by Soniks