Viktor S.
Новичок
Уязвимость в системе безопасности
Всем привет,
За помощь в решении моей проблемы обещаю вознаграждение в любой эл. валюте.
Cайт: PHP v5.2.5, MySQL v5.0.81-community, Apache v2.0.63.
Уязвимость в системе безопасности. Я не могу сказать точно, где или в скрипте или на сервере.
Суть проблемы:
1. Есть возможность изменять данные в MySQL таблицах. Злоумышленник получил имена таблиц, поля и т.д.
Защита:
1. Выделил права только на определенные операции для каждого скрипта т. е. я знаю потенциально небезопасные скрипты точно. В моем случае там, где есть права на UPDATE и INSERT.
2. В начале каждого скрипта разместил код, удаляющий во всех входящих переменных все кроме: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._@. Проверяются: $_REQUEST (все), $_SESSION (все). $_SERVER["QUERY_STRING"] режется до 8 символов.
3. Конечно, все данные перед передачей в SQL запрос проверяются еще раз. Учитывая п. 2 возможность инъекции практически = 0 или нет?
4. В начале каждого скрипта: error_reporting(0) и ini_set('display_errors', '0').
Вся беда в том, что я никак не могу найти эту чертову дырку. Я готов хорошо заплатить за помощь знающему человеку потому как речь идет о моей репутации как программиста и коммерческом продукте.
Я сообщил минимум информации и прошу помощи, готов выложить все, что необходимо еще.
Всем привет,
За помощь в решении моей проблемы обещаю вознаграждение в любой эл. валюте.
Cайт: PHP v5.2.5, MySQL v5.0.81-community, Apache v2.0.63.
Уязвимость в системе безопасности. Я не могу сказать точно, где или в скрипте или на сервере.
Суть проблемы:
1. Есть возможность изменять данные в MySQL таблицах. Злоумышленник получил имена таблиц, поля и т.д.
Защита:
1. Выделил права только на определенные операции для каждого скрипта т. е. я знаю потенциально небезопасные скрипты точно. В моем случае там, где есть права на UPDATE и INSERT.
2. В начале каждого скрипта разместил код, удаляющий во всех входящих переменных все кроме: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._@. Проверяются: $_REQUEST (все), $_SESSION (все). $_SERVER["QUERY_STRING"] режется до 8 символов.
3. Конечно, все данные перед передачей в SQL запрос проверяются еще раз. Учитывая п. 2 возможность инъекции практически = 0 или нет?
4. В начале каждого скрипта: error_reporting(0) и ini_set('display_errors', '0').
Вся беда в том, что я никак не могу найти эту чертову дырку. Я готов хорошо заплатить за помощь знающему человеку потому как речь идет о моей репутации как программиста и коммерческом продукте.
Я сообщил минимум информации и прошу помощи, готов выложить все, что необходимо еще.