Квест по безопасности :)

whirlwind

TDD infected, paranoid
dr-sm Из-за where? Хм, интересно нахрена тогда грант на DELETE если один хрен ниче не удалиш.
 

Wicked

Новичок
DiMA
Код:
mysql> show index from password_log;
ERROR 1142 (42000): SELECT command denied to user 'web'@'localhost' for table 'password_log'
whirlwind
Из кода видно, что пароли из password_log удаляются, когда удаляется юзер. Наверное для того и нужен грант на delete :)
 

whirlwind

TDD infected, paranoid
тогда почему не получится

DELETE FROM password_log WHERE user_id=X AND LENGTH(password) = 255 ... 0;

?
 

DiMA

php.spb.ru
Команда форума
whirlwind

сделай плиз 2 по 2 insert в таблицу (вставка своих значений), чтобы опеределить, есть ли уникальный индекс на юзер ид и пароль и сообщи результат :)

а так же аналогично сам плиз тип таблички узнай, доступны ли транзакции
 

DiMA

php.spb.ru
Команда форума
короче, в транзакции циклом перебираем все строки
а, б, в, ... я
delete like "a%"
как только удалена хоть одна строка, откат транзакции и подбор второй буквы like "aa%"
 

dr-sm

Новичок
delete с любым where не катит, на моей базе по краней мере
> delete from test where id = 1;
> SELECT command denied to user 'brain'@'192.168.44.1' for column 'id' in table 'test'
 

whirlwind

TDD infected, paranoid
а как ругаецо не говорит? даже если on delete, в чем я сумлеваюсь, все равно where user_id=? должно работать для того юзера который из основной.
 

dr-sm

Новичок
так-то еслиб where было можно,
то делет через селф джойн одинаковых паролей,
а потом инсертом пробить каких айдишников нет,
но болты )

-~{}~ 18.12.08 17:58:

Error Code : 1143
 

DiMA

php.spb.ru
Команда форума
автор, так можно WHERE в DELETE писать или нет? по ID, паролю или по обоим полям? если нельзя, какой толк в праве на удаление?
 

Wicked

Новичок
эх... сейчас проверил, и похоже я облажался правами - действительно не хватило :)

рассчет был именно на этот вариант:
короче, в транзакции циклом перебираем все строки
а, б, в, ... я
delete like "a%"
как только удалена хоть одна строка, откат транзакции и подбор второй буквы like "aa%"
так что всем сорри, кина не будет :)
Диме все равно респект за смекалку :)

dr-sm
а ты сразу понял, что такого SHOW GRANTS FOR CURRENT_USER(); недостаточно?
 

whirlwind

TDD infected, paranoid
А задача стояла не подобрать пароли, а посчитать кол-во :Р
 

dr-sm

Новичок
Wicked, не сразу конечн :)
я тестовую базу создал для экспериментов :)
 

DiMA

php.spb.ru
Команда форума
Wicked, я 2 года назад ломал сайт таким перебором паролей :) Доступа к скриптам не было, кроме sql-иньекции и разных пхп-багов после удачной или неудачной операции.
 

Krishna

Продался Java
whirlwind
Задача была узнать максимальное количество паролей, что в переводе означало "как можно больше паролей" :)
 

whirlwind

TDD infected, paranoid
максимально-возможное кол-во для каждого это 255^255
максимальное-возможное кол-во для юзера это maxlen1^255 + maxlen2^255 и тд

>максимально возможное кол-во паролей уже существующих пользователей?

формулировка, мягко говоря, туманная :)
 

Wicked

Новичок
whirlwind
да, кривовато написал :)
ессно нужно было "как можно больше паролей".
 

cDLEON

Онанист РНРСlub
Интересненький подход )) Я б не додумался наверное))
 
Сверху