Значение переменной

monk

Новичок
Значение переменной

Здравствуйте! Необходимо отслеживать переменные. Возможно ли сделать так, чтобы все переменные передаваемые по url и методом post можно было проверить, не составляя при этом, к примеру, массив всех возможных имен переменных на сайте? Мне нужно отследить любые переменные которые несут в себе знак "=".
 

monk

Новичок
Апокалипсис
Спасибо.
AmdY
Почему? Какой по вашему правильный?
Nicholas
Ну это уже для работы с массивом. Это можно использовать, например, для поиска знака "=" в значениях массива как я понимаю.

-~{}~ 04.11.07 23:32:

AmdY
Может этот " ' "?
 

Фанат

oncle terrible
Команда форума
monk
чтобы спрашивать, как делать правильно надо сначала рассказать - ЧТО ты делаешь.

Для того, чтобы понять неправильность вопроса "как мне заточить лопату в форме отвертки?" не обязательно в подробностях знать, что ты делаешь.
но чтобы ответить на вопрос "а что стоит использовать вместо лопаты" - обязательно.
 

monk

Новичок
Апокалипсис
Я хотел сказать, что это уже второй вопрос решения задачи. Его можно решить разными способами.
*****
чтобы спрашивать, как делать правильно надо сначала рассказать - ЧТО ты делаешь.
А задача такова, что нужно проверить все переменные, которые передаются в запросы к mysql, на содержание в них символов, которые могут быть использованы для mysql иньекций. Если символ найден в переменной, дамп массива $_GET и $_POST будет записан в файл. Также в файл будут записываться данные $REQUEST_URI, IP и данные о браузере пользователя. Таким образом я хочу найти уязвимые места в скриптах, которыми пользуются некоторые нехорошие пользователи.
 

Фанат

oncle terrible
Команда форума
о боже.
я что угодно предполагал, но только не это
 

monk

Новичок
*****
Что в этом такого страшного? Скрипт написан не мной, поэтому так будет проще найти уязвимость.
 

Страшный Злодей

Бывший член клуба (достало хамство).
monk
Ну так вроде, как вам объяснили все...
PHP:
foreach ($_GET as $key => $value) {
    echo "<br />Key: $key; Value: $value"; //функция, обрабатывающая ваш массив; 
}
 

fixxxer

К.О.
Партнер клуба
это неправильный подход, т.к. он не покажет, _где_ некорректно формируются sql-запросы. а как можно составить sql injection это и так понятно.

правильный подход один - провести аудит кода.

если хочется нифига не делать - проще включить magic_quotes, поставить mod_security и не мучаться. но это не панацея.
 

Апокалипсис

тех дир matras.ru
monk
неужели скрипт такой большой что нельзя на глаз посмотреть?

оффтоп: я помню как то переписывал интернет магазин - а именно нужно было вести подсчёт времени + кол-ва запросов.
Ничего 1 день потратил и перевёл проект на единый класс Mysql

А так ловить данные + писать в файл - больше времени чем 1 раз сесть и переписать.
 

monk

Новичок
Страшный Злодей
Да, и в $value ищем. Или ))
PHP:
$count_massiv=count($_GET);
$new_massiv=array_values($_GET);
for($cout=0;$cout<($count_massiv);$cout++){
if(stristr($new_massiv[$cout], '=')){}}
fixxxer
Апокалипсис
Поверхностно смотрел, кое-что поправлял. Видимо остались какие-то неровности...Да и потом, хотелось бы узнать, кто из пользователлей пользуется уязвимостью.
 

Фанат

oncle terrible
Команда форума
я бы просматривал логи на этот предмет.
но нам ведь щас скажут что к логам доступа нет
 

AmdY

Пью пиво
Команда форума
Что в этом такого страшного? Скрипт написан не мной, поэтому так будет проще найти уязвимость.
Всё, решено, подамся в анализ безопасности чужого кода, я точно подхожу, тоже почти нихрена не смыслю.
Недавно просили сделать сайт ищущий скрытые iframe на других сайтах, мол зло страшное.
Я уже тогда решил, что безопасность, как и сео горячая тема. Только пришлось отказать, не люблю лапшу людям вешать.
 

monk

Новичок
*****
Логи есть, до этого тем и занимался, что их смотрел. Но в логах не сохраняются данные о переменных, передаваемых через поля. <postfield name="test" value="$(name)"/>
 

Апокалипсис

тех дир matras.ru
monk
уже почти сутки прошло уж мог бы перевести весь проект на единый класс и не парится по поводу отлова кулхацкеров.
 
Сверху