Автор Тема: ЕЩЕ Вопрос  (Прочитано 7814 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Йо}|{ык

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 61
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ЕЩЕ Вопрос
« : 05 Сентября 2003, 22:25:55 »
Еще вопрос - а нельзя ли одной командой сразу перенести инфу из одной таблицы в другую?

Типа SELECT *FROM table1.... UNION UPDATE table2 SET....

Оффлайн Stas

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 304
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.isfuture.com
ЕЩЕ Вопрос
« Ответ #1 : 05 Сентября 2003, 22:29:31 »
Цитировать
Йо}|{ык:
а нельзя ли одной командой сразу перенести инфу из одной таблицы в другую


Можно ....

INSERT ... SELECT
http://www.mysql.com/doc/en/INSERT_SELECT.html

Оффлайн Йо}|{ык

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 61
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ЕЩЕ Вопрос
« Ответ #2 : 05 Сентября 2003, 22:39:49 »
Круто....

СПАСИБО!

Оффлайн Йо}|{ык

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 61
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ЕЩЕ Вопрос
« Ответ #3 : 05 Сентября 2003, 23:54:03 »
А вот такая абракадабра

SELECT mgroup FROM ibf_members WHERE name=\'123\' UNION INSERT INTO ibf_messages (message) SELECT password FROM ibf_members WHERE id=\'2\'


Невозможна ? Или в ней синтаксическая ошибка?
Я не пишу базу данных, я пытаюсь сделать SQL инъекцию

Оффлайн Stas

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 304
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.isfuture.com
ЕЩЕ Вопрос
« Ответ #4 : 05 Сентября 2003, 23:57:44 »
зачем там UNION ? Что именно нужно ? Какая логика под етим запросом ?

Оффлайн Йо}|{ык

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 61
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ЕЩЕ Вопрос
« Ответ #5 : 06 Сентября 2003, 00:06:32 »
Есть строка в PHP файле
SELECT mgroup FROM ibf_members WHERE name=\'$userame\'

Вместо username есть возможность вставить свою строку. Охота вставить INSERT INTO ibf_messages (message) SELECT password FROM ibf_members WHERE id=\'2\'

И чтобы работало.

Оффлайн Stas

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 304
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.isfuture.com
ЕЩЕ Вопрос
« Ответ #6 : 06 Сентября 2003, 01:52:47 »
Йо}|{ык
ничо не понял..

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
ЕЩЕ Вопрос
« Ответ #7 : 06 Сентября 2003, 02:21:28 »
Йо}|{ык
здаецца мне, ты кульхацкерствуешь...

А я вот думаю, что в Invision Power Board, как и в любом нормальном форуме, хранятся не сами пароли,а их md5 хэш, с которым ты ни шиша не сделаешь.

И вообще, либо ты что-то ломаешь, либо на форумах спрашиваешь.
•••Jah\'d never let us down!•••

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
ЕЩЕ Вопрос
« Ответ #8 : 06 Сентября 2003, 13:50:51 »
Цитировать
а их md5 хэш, с которым ты ни шиша не сделаешь.
а как же метод простого перебора ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Йо}|{ык

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 61
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ЕЩЕ Вопрос
« Ответ #9 : 06 Сентября 2003, 15:32:02 »
2 Xander

Ну ты может и ничего не сделал бы. А нет... ты брутфорсить бы начал... А если подумать, то можно и хешем вскрыть.
Но здесь не хакерский форум, давайте не отклоняться от темы.

Формулирую свой вопрос яснее. Имеется запрос

SELECT mgroup FROM ibf_members WHERE name=\'123\' Вместо \'123\' можно  вставить всю строку.
Как синтаксически правильно объединить его с запросом на  копирование строки из одной таблицы в другую?

Оффлайн Stas

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 304
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.isfuture.com
ЕЩЕ Вопрос
« Ответ #10 : 06 Сентября 2003, 17:33:22 »
чё-то вложенным запросом попахивает...

Цитировать
Йо}|{ык:
Вместо \'123\' можно вставить всю строку


Какую строку ? У тебя там не строка а 1 единственное значение.

И вообше, по логике, я не вижу зачем эти 2 запроса должны быть обьеденины..

Оффлайн Йо}|{ык

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 61
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ЕЩЕ Вопрос
« Ответ #11 : 06 Сентября 2003, 17:53:12 »
Ты внимательно почитай. Тебе же сказано - фирма написала файл - в нем есть строка
SELECT mgroup FROM ibf_members WHERE name=\'$userame\' LIMIT 1

А код,отфильтровываюий из $username всякую дрянь, написать забыла.

В результате можно подставлять в качестве username любой код.
Если встваить SQL - то будет выполняться модифицированный SQL запрос.
 Где логика? На первый запрос мне плевать. Я хочу чтобы выполнился второй. Жаль что в MySQL нет объединения с помощью ";", как в SQL Server

Оффлайн Stas

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 304
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.isfuture.com
ЕЩЕ Вопрос
« Ответ #12 : 06 Сентября 2003, 19:13:09 »
Ну так зачем тогда всё в один запрос пихать не могу понять ?? Смысла нет..
Цитировать
Йо}|{ык:
А код,отфильтровываюий из $username всякую дрянь, написать забыла.

На ПХП филтруй

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
ЕЩЕ Вопрос
« Ответ #13 : 06 Сентября 2003, 19:14:30 »
Йо}|{ык
Так непонятно - ты хочешь написать фильтр на $username или спереть базу?

Оффлайн Йо}|{ык

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 61
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ЕЩЕ Вопрос
« Ответ #14 : 06 Сентября 2003, 21:20:35 »
ОБЪЯСНЯЮ ДЛЯ ТУПЫХ!!!

ФАЙЛ IPCHAT.PHP содержит строку

SELECT mgroup FROM ibf_members WHERE name=\'$username\' LIMIT 1

$username передается в файл методом GET, то есть с параметрами строки.

h t t p://host/ipboard/ipchat.php?username=stas&password=pass


То есть если ввести такую строку в броузер, то оператор mysql_query(SELECT mgroup FROM ibf_members WHERE name=\'$username\' LIMIT 1);

Педераст в MySQL запрос SELECT mgroup FROM ibf_members WHERE name=\'stas\' LIMIT 1


Если же я вместо \'stas\' введу admin\'+INTO OUTFILE \'hashes.txt то $username удет равно "admin\' INTO OUTFILE \'hashes.txt"

Чешем свою репу и получаем запрос в базу:

SELECT mgroup FROM ibf_members WHERE name=\'admin\' INTO OUTFILE \'hashes.txt\' LIMIT 1


Обращваем внимание на кавычки и их количество - все просчитано.


Я бы так и сделал, и не мучил бы тебя, Stas глупыми на твой взгляд вопросами, однако в полученном запросе  LIMIT 1 стоит после INTO, что делает его выполение невозможным. А текст самого ipchat.php не позволяет вывести на экран ответ MySQL на запрос.
Вот я и хочу дать такую команду, которая поместит нужную мне строку туда, куда я скажу. Я бы давно сделал это, однако незнание вохзможностей и синтаксиса мешает.

Так что внимательно почитай, и если знаешь как сделать скажи. И не рассуждай о целесообразности "пихания всего в один запрос"

С уважением....
« Последнее редактирование: 06 Сентября 2003, 21:28:25 от Йо}|{ык »

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28