Сообщение от
Ershik
На сайте под управлением mssql access есть уязвимость в авторизации.
пытаюсь скомбинировать как в mssql
но не получается. Как правильно ввести данные?
Это так теория, в твоём случае она не применима, но знать будет полезно (для других БД, к примеру мускул).
Это зависит только от запроса, т.е. найти вариант, который прокатывал бы в каждой админке с уязвимой авторизацией не реал.
1. "--" будет служить символом комментария только если после этого чуда идёт пробел, а в админках часто используется обрезание пробельных символов по краям, так что лучше юзать так: "-- 1".
2. Пробывать лучше это:
login' or 1=1-- 1
password' or 1=1-- 1
3. Часто бывает что без извращений с юнионом в админку по скуле в авторизации не попасть, но тут не видя сорца скрипта сделать что либо почти не реал.
Хотя в крации расскажу:
Если авторизации (т.е. проверка правильности введённой инфы) проходит только по результату запроса, то прокатывает посдановка вышеуказанной комбинации.
А бывает, что из запроса (по логину) достается соотвествующий пароль или хеш пароля, а уже затем он сравнивается с введённым тобою, что то вроде этого:
Код:
select password from admin where login = '$login';
В таких случаях нужно через объединение запросов впихивать левые данные:
Код:
логин = 1' and 1=2 union select 'pass'-- 1
И пароль соответственно = pass
Ну или есть хеширование:
Код:
логин = 1' and 1=2 union select md5('pass')-- 1
И пароль соответственно = pass
Но это так теория, на практике это будет геморно осуществить.
4. Ещё как вариант попробовать раскрутить инъекцию как слепую - тоже частенько удаётся сделать.