Как получить доступ к базе данных сайта
1. Вариант —Получи шелл доступ на данном сервер, затем Если знаешь про wget , curl , fetch, links,lynx, get > труда не заставит залить sql клиент (если ты конечно знаешь) , затем обычной командой locate или ручками находишь файл на сервере типа config.php или inc.php (обычно в начале файла указаны параметры db_user db_pass). От туда берешь логин и пароль(может быть так что найденные тобой данные для входа в базу относятся к одной и той же базе, где хранятся данные).
2. Вариант —Если уже и без выше написанного есть логин и пароль для нужной базы, можно попытаться выполнить telnet wap.com 3306 (я встречается что порт открыт для прослушивания, т.е. ты можешь просто залить sql клиент на свой хост и соединится с базой сайта удаленно, указав не localhost а название или ip сервера где хоститься твой сайт.)
Все прокатит на Mysql, но пойми это самая простая схема.(Может быть и другая база). Удачи.
Цитата |
---|
Kollector пишет: А где можно узнать про «wget , curl , fetch, links,lynx, get» и с чем его едят. |
А вообще, мой совет тебе: забей на взлом, если не хочешь променять славу на решётку. Судя по твоим вопросам — шансы у тебя очень большие
Цитата |
---|
Kollector пишет: zslade! А где можно узнать про "wget , curl , fetch, links,lynx, get" и с чем его едят. |
Если есть шелл или ssh то обычно командой which wget или fetch, или man fetch!
Синтаксис
Как взламывают сайты и как их от этого защитить
Если вы хотите, чтобы ваш сайт не взломали, не создавайте его. Рассказываем, почему взломать можно что угодно, и даём советы по защите.
Если вы следите за IT-новостями, то регулярно слышите, что обнаруживаются утечки данных клиентов крупных компаний, находятся критические уязвимости в популярных приложениях, а серверы подвергаются атакам.
Безопасность — большая проблема в современном мире. Как жаль, что все эти крупные компании пишут такой плохой код. То ли дело я — мне взлом не страшен. Или страшен?
Почему вообще одни компании взламывают, а у других всё в порядке? Давайте разберёмся, как работают хакеры и как от них защититься.
Алгоритм взлома
Главное — помнить, что не существует систем, которые невозможно взломать. Примите это как аксиому. Вопрос лишь в том, сколько времени уйдёт на то, чтобы вас взломать. Наша задача — сделать так, чтобы хакеры тратили на обход защиты так много времени, чтобы им было попросту невыгодно на вас нападать.
Примерный алгоритм взлома следующий:
- попробовать обойтись без взлома;
- использовать известные способы взлома;
- задействовать грубую силу;
- создать свой инструмент;
- подойти к задаче с другой стороны и начать сначала.
Давайте вместе пройдём путь хакера и посмотрим, как он всё это делает.
ВАЖНО!
Мы никого не взламываем и вам не советуем. Вся информация в статье предоставлена для того, чтобы вы научились защищать свои сайты и приложения.
Цель взлома
Представим, что хакер планирует доступ к аккаунту одного конкретного пользователя на конкретном сайте.
Шаг первый: социальная инженерия
Лучший взлом — тот, которого не было. А чтобы получить доступ без взлома, нужно, чтобы пользователь сам предоставил вам все данные. Для этого используется социальная инженерия. И вот самые известные способы.
Письма от администрации
Нужно написать письмо человеку, представившись сотрудником компании, которой принадлежит сайт. Для этого можно подменить заголовки письма, чтобы пользователь подумал, что оно действительно пришло от официальных представителей.
Содержание может быть следующим:
Когда получаешь такое письмо, в первую очередь начинаешь переживать, что случилось что-то ужасное. И только когда эмоции улягутся, здравый смысл может затрубить о том, что это, скорее всего, мошенники.
Очарование
Вам вдруг пишет человек, который хочет знать о вас всё: откуда вы, чем увлекаетесь, любите ли животных, какая девичья фамилия вашей матери и так далее. Обычно этот человек выглядит как девушка или парень мечты — разве можно не доверять такой очаровашке?
Вы, конечно, поддерживаете беседу, а потом общение вдруг сходит на нет. А через какое-то время вы замечаете, что не можете зайти на сайт. Произошло вот что: взломщик узнал ответ на секретный вопрос, который необходим, чтобы восстановить доступ к аккаунту.
Фишинг
Вы получаете сообщение от друга или знакомого, в котором он просит зайти на сайт и проголосовать в конкурсе. После перехода по ссылке почему-то нужно заново авторизоваться, но, если это сделать, ничего не происходит. Вы закрываете вкладку, но уже слишком поздно.
На самом деле это подставной сайт: у него может быть такой же дизайн и даже адрес как у настоящего, но это всего лишь муляж, который используется, чтобы вы сами ввели свои данные.
Методы защиты
Чтобы защитить пользователей от взлома методами социальной инженерии, нужно постоянно информировать их о следующих вещах:
- Администрация никогда не запрашивает данные для входа на сайт.
- Никому нельзя сообщать одноразовые пароли или ответы на секретные вопросы.
- Нельзя переходить с вашего сайта на другие и авторизовываться на них. Особенно если ссылку они увидели в комментариях или получили личным сообщением.
Если же в аккаунт пользователя кто-то заходит с другого устройства, отправьте письмо с инструкцией, что нужно делать, если это авторизовался не сам пользователь.
Шаг второй: взлом с помощью известных уязвимостей
Если не удалось выведать пароль у пользователя, то нужно идти дальше и пробовать уязвимости, которым подвержены практически все сайты. Самая известная из них — SQL-инъекция.
SQL устроен так, что за один раз можно отправлять несколько запросов, которые разделяются точкой с запятой.
Например, у вас на сайте есть форма входа, в которую нужно ввести логин и пароль. Чаще всего запрос, который отправляется для проверки пользователей, выглядит так:
Зная это, хакер может ввести в поле с паролем какую-нибудь команду-инъекцию. Например, такую:
Как ломать сайты криворуких программистов.
Для того чтобы понять что тут происходит в принципе не нужно уметь программировать, знать SQL язык. Достаточно быть не сильно идиотом.
Что из себя представляют SQL инъекции? Это некие неправомерные действия, которые не предполагались выполняться данным скриптом.
Если привести пример из реальности, то это будет нечто такое:
Мать написала отцу записку:
А Вася взял и дописал: » и Пива»
В итоге отец видит записку:
Конечно когда прочитают логи и сверят данные Вася получит ремня, но временно он взломал систему. (поэтому правило первое, старайтесь действовать так чтоб вас не спалили)
Тут я подготовил простенький интерфейс на котором можно побаловаться:
По нормальному мы можем добавить строку, либо вытащить данные по поиску данной строки, дабы каждый ещё смог оставить немного своей дури:
Попробуем в поле поиска вбить не ololo
Вывод выдаёт то же самое, итого мы можем применять инъекции.
В коде на сервере запрос выглядит так
Мы же сами закрываем кавычки и комментируем всё последующее двумя дефисами.
Что же мы можем сделать теперь?
Например добавить свой вывод:
В этом случае мы выводим 1,2, но кому это интересно?
Если уж мы получили делать возможность инъекции необходимо узнать структуру базы, дабы получить возможность формировать желаемые запросы.
Получаем список баз
Таким запросом мы получим список баз к которым у данного пользователя есть доступ.
Тут в принципе не нужно ничего понимать, мы выводим столько же полей, потому как знаем что у нас их 2. Но в первое выводим через запятую все базы, к которым можем получить доступ.
Отлично, мы знаем что наша база называется injection
Теперь получим список таблиц нашей базы
Получаем список колонок из таблицы 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, так что не парясь можно получить всё содержимое.
Много воли я решил не давать вам на сервере, например нет возможности редактировать структуру базы, создавать новые таблицы, удалять строки. Иначе начнётся тотальный треш.
В сущности, сейчас найти данную уязвимость практически невозможно. Но всякое в жизни бывает.
Так например было дело, на каком-то ресурсе удалось при редактировании своего пароля установить такой пароль всем, потому как было что-то типа:
UPDATE `users` SET `password`=’$password’ WHERE >
Ну и если мы делаем переменную $password
newPass’ — ololo
То пароль newPass ставится для всех пользователей.
Защититься от инъекций куда проще, чем их использовать, но если доступ к оным получен — это дарует много возможностей.
Если кто-то сможет сделать insert/update в таблицу secret каким-то образом — с меня пиво первому сделавшему..)
1.4K поста 25.3K подписчиков
Правила сообщества
Обязательно к прочтению для авторов:
1. Если вы добавляете пост, утверждающий об утечке данных или наличии дыр в системе, предоставьте ссылку на источники или технически подкованное расследование. Посты из разряда «Какой-то банк слил данные, потому что мне звонили мошенники» будут выноситься в общую ленту.
2. Все вопросы «Как обезопасить сервер\приложение\устройство» — в лигу «Компьютер это просто».
Обязательно к прочтению для всех:
Добавление ссылки разрешено если она не содержит описание коммерческих (платных) продуктов и/или идентификаторов для отслеживания перехода и для доступа не нужен пароль или оплата в т.ч. интернет-ресурсы, каналы (от 3-х тематических видео), блоги, группы, сообщества, СМИ и т.д.
Запрещены политические holy wars.
По решению модератора или администратора сообщества пользователь будет забанен за:
1. Флуд и оскорбление пользователя, в т.ч. провокация спора, флуда, холивара (высказывание без аргументации о конкретной применимости конкретного решения в конкретной ситуации), требование уже данного ответа, распространение сведений порочащих честь и репутацию, принижающих квалификацию оппонента, переходы на личности.
2. Публикацию поста/комментария не соответствующего тематике сообщества, в том числе обсуждение администраторов и модераторов сообщества, для этого есть специальное сообщество.
3. За обвинение в киберпреступной деятельности.
4. За нарушение прочих Правил Пикабу.
не помню, на каком уровне застрял, но помню, что так и не прошел. начинающим хацкерам — рекомендую )
Вижу, кто-то начал добавлять html теги )
Мой любимый <plaintext> — он по сути экранирует хтмл теги. Но он на столько сильный что экранирует закрытие себя. Те один раз открывшись его не закрыть и весь код дальнейший идёт в виде текста)
опять про тех, кто подготовленные выражения не использует? это мануал в стиле «как трахнуть в жопу того, кто застрял в заборе»
Нихуясе, на Пикабу уже курсы хакеров открыли
Читать ещё на Пикабу
Проект The Fuck
Было очень любопытно, что же скрывается под таким неговорящим названием. Причём явно что-то популярное и полезное, потому что 77.7k звёзд на гитхабе. Оказалось, что это утилита для исправления опечаток или неполностью набранных команд.
Показываю сразу на примерах. Допустим, вы устанавливаете софт через пакетный менеджер и забыли написать sudo:
E: Could not open lock file /var/lib/dpkg/lock —
open (13: Permission denied)
Вы расстраиваетесь и материтесь, потому что нервы у айтишников никудышные. Сидячая работа, стрессы, кофе и т.д. Пишите в консоль с досады:
TheFuck понимает ошибку и предлагает выполнить команду с учётом исправления.
# sudo apt-get install mc
TheFuck распознаёт популярные ошибки, опечатки, не только в командах, но и в их ключах, параметрах. Например:
fatal: The current branch master has no upstream branch.
# git push —set-upstream origin master
То есть запустили гит пуш, забыли обязательные параметры, fuck добавил дефолтные параметры для этой команды.
Ещё больше примеров можно в репе посмотреть. Все исправления описаны правилами, которые лежат в соответствующей директории. Правила написаны на python, можете изменить готовые или написать свои. Например, есть правило для chmod. Если в консоли запускается скрипт через ./ и в выводе появляется сообщение permission denied, что типично, если у файла нет прав на исполнение, fuck исправляет это, добавяля права через chmod +x.
Больше всего правил написано для git. Судя по всему этот инструмент писался для разработчиков и немного девопсов, поэтому так много звёзд на гитхаб.
Если будете пробовать в Debian, утилита живёт в стандартных репах:
# apt install thefuck
Автор пакет заботливо отключил все правила для sudo. На всякий случай. По умолчанию бинарники ставятся в $HOME/.local/bin, поэтому надо добавить этот путь в PATH:
Apple атакует kaspersky (и не только)
Сегодня у нас очень большая и важная новость.
Экспертами нашей компании была обнаружена крайне сложная, профессиональная целевая кибератака с использованием мобильных устройств производства Apple. Целью атаки было незаметное внедрение шпионского модуля в iPhone сотрудников компании — как топ-менеджмента, так и руководителей среднего звена.
Атака проводится при помощи невидимого iMessage-сообщения с вредоносным вложением, которое, используя ряд уязвимостей в операционной системе iOS, исполняется на устройстве и устанавливает шпионскую программу. Внедрение программы происходит абсолютно скрытно от пользователя и без какого-либо его участия. Далее шпионская программа так же незаметно передаёт на удалённые серверы приватную информацию: записи с микрофона, фотографии из мессенджеров, местоположение и сведения о ряде других активностей владельца заражённого устройства.
Атака проводится максимально скрытно, однако факт заражения был обнаружен нашей системой мониторинга и анализа сетевых событий KUMA. Система выявила в нашей сети аномалию, исходящую с Apple устройств. Дальнейшее расследование показало, что несколько десятков iPhone наших сотрудников оказались заражены новой, чрезвычайно технологически сложной шпионской программой, получившей название Triangulation («Триангуляция»).
По причине закрытости в iOS не существует (и не может существовать) каких-либо стандартных средств операционной системы для выявления и удаления этой шпионской программы на заражённых смартфонах. Для этого необходимо прибегать к внешним инструментам.
Косвенным признаком присутствия Triangulation на устройстве является блокировка возможности обновления iOS. Для более точного распознавания заражения потребуется снять резервную копию устройства и проверить её специальной бесплатной утилитой (которую мы позже опубликуем на GitHub). Более подробные рекомендации изложены в технической статье на нашем блоге Securelist.
Из-за особенностей блокировки обновления iOS на заражённых устройствах нами пока не найдено действенного способа удаления шпионской программы без потери пользовательских данных. Это можно сделать только при помощи сброса зараженного iPhone до заводских настроек, установки последней версии операционной системы и всего окружения пользователя с нуля. Иначе, даже будучи удалённым из памяти устройства перезагрузкой, троянец-шпион Triangulation способен провести повторное заражение через уязвимости в устаревшей версии iOS.
Расследование шпионской операции Triangulation только начинается. Сегодня мы публикуем первые результаты анализа, но впереди ещё много работы. По ходу расследования инцидента мы будем обновлять эту страницу и подведём черту проделанной работе на международной конференции Security Analyst Summit в октябре (следите за новостями на сайте).
Мы уверены, что наша компания не была главной целью этой шпионской операции. Надеемся, что уже в ближайшие дни мы получим статистику распространения «троянского треугольника» в других странах и регионах.
Мы считаем, что главной причиной этого инцидента является закрытость iOS. Данная операционная система является «чёрным ящиком», в котором годами могут скрываться шпионские программы подобные Triangulation. Обнаружение и анализ таких угроз осложняется монополизацией Apple исследовательских инструментов, что создаёт для шпионских программ идеальное убежище. Иными словами, как я уже не раз говорил, у пользователей создаётся иллюзия безопасности, связанная с полной непрозрачностью системы. Что на самом деле происходит в iOS, специалистам по IT-безопасности неизвестно. Отсутствие новостей об атаках отнюдь не свидетельствует о невозможности самих атак — в чём мы только что убедились.
Хочется напомнить, что это не первый случай целевой атаки против нашей компании. Мы прекрасно понимаем, что работаем в очень агрессивном окружении и выработали соответствующие процедуры реагирования. Благодаря принятым мерам, компания работает в штатном режиме, бизнес-процессы и пользовательские данные не затронуты, угроза нейтрализована. Мы продолжаем защищать вас, как всегда.
P.S. А причём здесь триангуляция?
Для распознавания программной и аппаратной спецификации атакуемой системы Triangulation использует технологию Canvas Fingerprinting и рисует в памяти устройства жёлтый треугольник.
Как подключить базу данных MySQL к сайту на PHP
Для начала у вас должен быть установлен PHP. Чтобы получить версию, запускаем:
Вот такой ответ должен прийти:
Теперь установим сервер MySQL. Для этого открываем терминал и запускаем:
Вводим пароль, чтобы начать установку, и нажимаем на Enter.
Проверяем, установлен ли MySQL, этой командой:
Если установка прошла успешно, выводится примерно следующее:
Теперь для доступа к базе данных с использованием программы на PHP нужно передать в качестве аргументов в SQL-запросе имя пользователя и пароль. Поэтому создадим пользователя с паролем и предоставим ему права доступа к базе данных.
Нового пользователя и пароль создаем, выполняя следующую команду:
Теперь предоставим пользователю разрешения на доступ к базе данных, а заодно убедимся, что эти права доступа отображаются (для этого задействуем команду flush ):
И для доступа к MySQL в Google Cloud:
Для привязки ко всем адресам запускаем это:
Для создания нового пользователя и пароля нужно выполнить указанные выше команды. После добавления нового пользователя выходим и перезапускаем сервер MySQL:
Обратите внимание: в случае с PHP версией 7+ для правильного выполнения команд MySQL необходимо использовать расширение MySQLi. Функции MySQLi позволяют получать доступ к серверам баз данных MySQL.
Для установки расширения MySQLi запускаем:
Теперь все готово к выполнению программ на PHP с интегрированием MySQL. Переходим к решению сформулированной выше задачи.
Первым делом создадим базу данных на сервере MySQL. Для этого подключимся к серверу MySQL:
Для того, чтобы создать таблицу, сначала нужно создать базу данных. Следующей командой создаем базу данных с названием «test»:
Дальше эту базу данных нужно выбрать:
Код для создания таблицы при загрузке сайта
База данных готова, теперь напишем код для создания таблицы при загрузке сайта.
Как было указано в необходимых условиях, в качестве хоста будет использоваться Apache2, поэтому выполняем такие команды:
С их помощью создается файл и открывается редактор Vim.
Копируем и вставляем в редактор следующий код:
В строках 7, 8 и 9 объявляются переменные, в которых сохраняются имя пользователя, пароль и localhost. Дальше они задействуются в строке 10 и передаются в качестве параметров в команду mysqli_connect , которой инициируется соединение с сервером MySQL. Если соединение установить не удалось, для отображения ошибки используется оператор if и mysqli_error() . Затем пишется запрос на создание таблицы, который присваивается переменной sql . И запускается запрос для выбора базы данных test . После чего запускается mysqli_query для создания таблицы посредством передачи в качестве параметров переменных sql и connection .
Теперь сохраняем файл и выходим из него, открываем браузер и заходим на этот сайт:
Если все работает правильно, получаем сообщение об успешном создании таблицы.
Если при открытии сайта сообщения не видно, переходим в каталог, в котором создан файл:
И выполняем в терминале следующую команду:
Открываем браузер и заходим на такой сайт:
Теперь сообщение об успешном создании таблицы будет видно.
Проверим, выполнив в терминале команду:
Примечания:
1) Имя пользователя MySQL — «newuser», а пароль — «password».
2) Поменяйте все команды с MySQL на MySQLi, если у вас версия PHP 7+ , например mysql_connect станет mysqli_connect , а mysql_error() станет mysqli_error() .
Появление возможных ошибок, и как с ними справиться:
- При выполнении команды создания проверяйте, те ли кавычки используете. Ведь ` и ‘ — это разные знаки.
- Если при выполнении программы есть какая-либо ошибка в SQL-запросе, связанная с форматом, то при присваивании $sql
поставьте в конце запроса вместо точки точку с запятой.
3. Если возникли проблемы с командами MySQLi, выполните следующие команды:
Затем запишите свою версию PHP. Для этого в первой из следующих четырех команд замените x.x на свою версию PHP:
Так, если у вас версия PHP 7.4, то команда будет sudo apt-get install php7.4-mysqli.
4. Каждый раз, когда заходите на свой сайт на PHP, запускайте в каталоге, где находится программа на PHP, следующую команду:
И при получении какой-либо ошибки, например такой:
Запускайте эту команду:
И после выполнения php -S localhost:8000 он заработает. Так как процесс, задействующий этот порт, будет уничтожен и его можно будет использовать.
Еще одна программа на PHP
И вот еще одна программа на PHP для добавления новых записей в таблицу, попробуйте.
Прежде чем выполнять программу, запускаем запрос в MySQL для создания таблицы: