Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2014, 14:08   #1
wanes101
Форумчанин
 
Регистрация: 04.06.2010
Сообщений: 212
По умолчанию pdo mysql инъекции

ребят привет.
кто то на некотором сайт mysql инъекции и умудряется поменять имена всех пользователей сайта.
Можно ли вот в этом коде сделать инъекцию
Код:
if ($this->upduser_stmt===false)
                $this->upduser_stmt=$this->db->prepare("UPDATE siteuser
                    SET 
                    siteuser_name=:name,
                    siteuser_age= : age,
                    siteuser_sex=:sex,
                    siteuser_phone=:phone,
                    siteuser_email=:email,
                    siteuser_birth=:birth,
                    siteuser_activated=:activated
                    WHERE siteuser_id=:siteuserid");
            
            $this->upduser_stmt->bindValue(':name',$user->name,PDO::PARAM_STR);
            $this->upduser_stmt->bindValue(':sex',$user->sex,PDO::PARAM_INT);
            $this->upduser_stmt->bindValue(':age',($user->age==''?'':$user->age),PDO::PARAM_INT);
            $this->upduser_stmt->bindValue(':phone',$user->phone,PDO::PARAM_STR);
            $this->upduser_stmt->bindValue(':email',$user->email,PDO::PARAM_STR);
            $this->upduser_stmt->bindValue(':siteuserid',$user->id,PDO::PARAM_INT);
            $this->upduser_stmt->bindValue(':birth',$user->birth,PDO::PARAM_STR);
            $this->upduser_stmt->bindValue(':activated',intval($user->activated)>0?1:0,PDO::PARAM_INT);
            $this->upduser_stmt->execute();
вроде все написано хорошо и не пойму что может быть не так?

есть бд в ней есть таблица siteusers этим запросом апдейтится та таблица. но через него как я думаю кто то меняет все записи в этой таблице возможно ли и как, я сам по инъекциям почитал, и что если используется pdo переменных проходят через bindValue то вроде вероятность инъекции 0% так ли?

Последний раз редактировалось wanes101; 24.03.2014 в 14:14.
wanes101 вне форума Ответить с цитированием
Старый 24.03.2014, 17:39   #2
wanes101
Форумчанин
 
Регистрация: 04.06.2010
Сообщений: 212
По умолчанию

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

Последний раз редактировалось wanes101; 25.03.2014 в 09:05.
wanes101 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL инъекции veter48 PHP 7 29.08.2012 23:09
'max_user_connections' active connections php PDO MySQL gunsoy PHP 1 24.07.2012 06:49
PDO PHP MySQL gunsoy PHP 0 27.03.2012 12:55
SQL инъекции Linel PHP 3 19.06.2009 21:27