С сегодняшнего дня обнаружел а базе вот такое.
Собственно вопрос, это атака на базу? Как от нее защититься?
Сайт написан на чистом php все запросы к базе руками прописаны, без фреймворков и прочего.
Дмитрий Кузьменко, на вопрос "Где?" можно было бы и пальцем ткнуть)) Я решительно не понимаю, в каком столбце там пароли. Только если в первом, но там всего две ячейки видно без инъекций и вот вообще непонятно, как cha-cha по нима догадался, что это пароли...
Вот я про то же думаю, если сохранилось в базу, значит запрос транслировался в строку.
Но не хватает опыта понять на сколько это опасно, ведь если к этому запросу добавить ковычку, он ведь может и пройти, хотя опять мои догадки
Что бы что то сказать надо видеть код. Где данные этого поля в запрос добавляются.
Но в общем случае, используйте prepared statements, они же подготовленные выражения и инъекции не пройдут.
Будь я доктором технических наук, рекомендовал бы Вам перманентный бессрочный бан по ip данным скрипт-кидям, от нервов, так сказать =)
Олавливать их по словам SELECT, UPDATE или INSERT во входящих данных не сложно.
Noizefan zzz, update и insert не имеет сильно смысла от скрипт кидди. Select довольно часто является флагов для инъекции и посмотрите сколько способов обхода файрволла, где идёт отлов по словам. Спойлер он не работает на 99%.
Я вот согласен с предыдущими ребятами - если коннектор самописный, то надо экранировать входящие в запрос данные. Но, ИМХО, экранировать не слова, а служебные для sql знаки: точка с запятой, одинарные и двойные кавычки и что-то там еще - ибо давно это у меня было, да и гуглится легко.