Каждый раз, когда я вижу, что кто-то пытается использовать одно из моих веб-приложений, мне нравится видеть, что это за эксплойт, просто чтобы узнать, как оно работает.
В этом случае я видел, как кто-то пытался использовать строку запроса ?q=login.destroy.session&r=0.12365442
, Я пробовал Googling, но все, с чем я сталкиваюсь, это учебные пособия о том, как использовать сеансы для управления входами в систему или журналы, которые показывают доступ к другим сайтам таким образом.
Кто-нибудь знает, что это на самом деле делает? Это специфический фреймворк или работа на любой версии PHP?
«Эксплойт», о котором вы думаете, обязательно не имеет никакого отношения к тому факту, что он вставлен в URL.
Существует много способов «внедрить» вредоносный код в веб-сайт. Основные способы — через параметры GET и POST, через пользовательский ввод или конечные точки API.
Концепция проста: если данные получены от клиента (то есть не жестко запрограммированы или могут изменяться), то они ненадежный.
Этот тип атаки просто проверяет, что происходит, когда они помещают что-то, что ваше приложение не ожидает увидеть, как оно обрабатывает.
Это главная причина, почему вы никогда доверяйте данным, и если ваш параноик, как я, никогда не доверяйте своим своя данные либо, даже если они жестко закодированы. Убедитесь, что перед SQL-запросами вы удаляете из него любой вредоносный код, который использует mysqli::real_escape_string
или же PDO::Prepare
,
Других решений пока нет …