Я пытаюсь защитить свой блог WordPress. Я прочитал некоторые посты в Интернете, которые я должен изменить table_prefix
и скрыть свои wp-config.php
. Тем не менее, я не понимаю? Что может сделать злоумышленник с моим wp-config.php
?
Я имею в виду, что есть мои конфигурации базы данных, но, DB_HOST
например, атакующему нужен мой , который не так легко получить, чтобы подключиться к моей базе данных? (В моем случае это:, define('DB_HOST', 'localhost');
который атакующий не смог использовать для подключения к моей базе данных )
Или я скучаю по чему-то?
Я очень ценю ваш ответ!
Ответы:
localhost
относится к машине, на которой он работает. Например на моем собственном сайте tomjn.com localhost такой,127.0.0.1
какой он есть всегда. Это не означает, что хакер не знает, где подключиться, это означает, что хакер заменяетсяlocalhost
наtomjn.com
.Конечно, если у меня есть прокси-сервер, это не сработает, но имейте в виду, что если у злоумышленника есть доступ ко мне
wp-config.php
, этот же доступ позволит им делать другие действия на этой машине.Так что теперь у злоумышленника есть данные вашей базы данных, и они могут читать
wp-config.php
. Теперь они имеют доступ ко всему в вашей базе данных и могут изменить что угодно в вашей базе данных.В зависимости от безопасности вашей установки, они могут создать пользователя для себя, войти в систему, загрузить плагин через zip с помощью скрипта PHP Shell и начать вводить команды или использовать сайт как часть бот-сети.
У них также есть ваши соли и секретные ключи (если у вас их нет, плохо или плохо), так что грубое взлом паролей ваших пользователей становится значительно проще. У них также есть доступ к их электронной почте.
Достаточно сказать, что получение
wp-config.php
- это одна из худших вещей, которые могут случиться. С ним можно сделать гораздо больше, но потребуются месяцы, чтобы напечатать все возможные атаки, вызванные этим.В случае, если ваш
wp-config.php
получен, скорее всего, это сделал сценарий автоматической атаки, а не реальный человек. Измените все свои данные, сбросьте все пароли и закройте дыру.источник
localhost
наtomjn.com
. > Это предполагает, что у вас есть порт для базы данных, доступный для внешнего мира. Разве вы не в безопасности, если вы закрыли порт в правилах брандмауэра, позволяя только компьютерам в локальной сети (включая компьютер, на котором работает WordPress) подключаться к базе данных?Если вы принимаете доступ к базе данных только из
localhost
(это не достигается путем определенияDB_HOST
какlocalhost
)? Не слишком много (в худшем случае злоумышленник захватит учетную запись администратора), но в сочетании с другими уязвимостями злоумышленнику может быть полезно иметь доступ к вашей конфигурации.Учетные данные для входа
Люди повторно используют свои имена пользователей и пароли. Злоумышленник проверит, подходят ли имя пользователя и пароль вашей базы данных (или их варианты) для вашей установки WordPress, вашего хостера, вашей электронной почты и т. Д.
По крайней мере, злоумышленник получает представление о том, какие пароли вы используете (абсолютно случайные, только строчные / цифры, длина и т. Д.).
Префикс таблицы
Если возможна инъекция SQL, злоумышленник должен знать имена таблиц. В зависимости от базы данных это может быть очень просто, или может потребоваться угадывание. Если это связано с угадыванием, лучше всего иметь префикс таблицы.
Ключи и Соли
Я обнаружил, что эта статья говорит о том, что вы действительно не хотите, чтобы они просочились (в основном, любой может взять на себя вашу учетную запись администратора), хотя я не знаю, насколько она актуальна.
База данных Charset
Некоторые SQL-инъекции зависят от набора символов, поэтому злоумышленнику полезно знать это.
Резюме
Если вы не разрешаете внешний доступ к базе данных, если вы не используете пароли повторно, и если у вас нигде нет SQL-инъекций, основной проблемой будут ключ и соль.
источник
Я предполагаю, что вы спрашиваете о доступе для чтения, поскольку доступ для записи - это, по сути, доступ для вставки своего собственного кода, чтобы делать все, что ему нравится с вашим сайтом.
Ваше предположение, что информация БД не является конфиденциальной, неверно. Предположим, ваш сайт размещен на Godaddy. godaddy AFAIK использует выделенные серверы mysql, к которым, вероятно, можно получить доступ только с их собственных серверов, но если я знаю ваши данные, насколько сложно мне создать учетную запись godaddy и написать скрипт, который обращается к вашей БД? В случае с локальными БД использовать их сложнее, но на серверах общего хостинга у вас может быть 100 сайтов, совместно использующих сервер, можете ли вы доверять им, чтобы они были достаточно защищены, чтобы г-н Зло не смог взломать их и использовать для атаки на ваш сайт?
источник