В настоящее время я застрял с этой задачей SQL-инъекции.
Я должен выполнить следующие два запроса SQL, оба одновременно . Мне также разрешено вводить только один вход, который должен работать для двух утверждений ниже. Подчеркнутая часть - то, куда мой вклад входит. Назначение размещено на веб-сервере, который получает мой однопользовательский ввод.
Query 1: SELECT 0x43242a = __;
Query 2: SELECT '0x89222a' = '__';
Что я пробовал: Использование комбинации - и;комментировать и пытаться создать другой запрос, но безрезультатно. Я исследовал, и эти два оператора успешно запускают ТОЛЬКО ОДИН из операторов в каждый момент времени, даже если кажется, что они должны работать для обоих запросов.
Основная проблема заключается в том, что второй запрос ожидает одну кавычку, и поэтомукажется, что я никогда не смогу удовлетворить оба запроса.
Я пробовал три сценария
Input: 0x89222a' OR '1' = '1' OR '1' = '1
Query 1: SELECT 0x43242a = 0x89222a' OR '1' = '1' OR '1' = '1; (false)
Query 2: SELECT '0x89222a' = '0x89222a' OR '1' = '1' OR '1' = '1'; (true)
^ Почему-то я думал, что это умело удовлетворяет обоим условиям. Для первого, хотя первое сравнение не удается, ИЛИ обрабатывает второе, которое должно быть истинным, но оно воспринимается как ложное. Однако второе утверждение верно.
Input (quotes are part of the input) : ' or 1=1 --; SELECT '1' = '1'
Query 1: SELECT 0x43242a = ' or 1=1 --; SELECT '1' = '1'; (true)
Query 2: SELECT '0x89222a' = '' or 1=1 --; SELECT '1' = '1''; (false)
^ Это делает первый запрос верным, и я думаю, что он будет работать для второго, обрабатывая одинарные кавычки для второго запроса, но нет.
Input: 0x43242a--; SELECT '1' = '1
Query 1: SELECT 0x43242a = 0x43242a--; SELECT '1' = '1; (false)
Query 2: SELECT '0x89222a' = '0x43242a--; SELECT '1' = '1'; (true)
^ Я также попытался использовать приведенный выше ввод вместо этого, что делает второй запрос верным, но не может сделать первый запрос верным.
Это скриншот того, как веб-страница назначениявыглядит как. Я не знаю подробностей о типе базы данных, в которой она работает, хотя ... Я не уверен, что из-за того, как они ее кодируют, я не могу полностью использовать SQL-инъекцию, например, как она работает? Или это также будет работать на таком веб-сайте?
Платформа веб-сайта