• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Ошибка в бесплатном курсе SQL-injection .

ReliableSecurity

Green Team
05.12.2021
11
3
Все доброго времени суток.

В скором времени начала нового курса SQL-injection, у меня появилось свободное время, решил пройти бесплатное обучение. В уроке - 4. SQL-injection, начало - UNION BASED, столкнулся со сложностью.

Вот что я сделал по инструкции:
1. От рута получил возможность копировать файлы, как в созданную директорию так и уже в имеющуюся.
2. Поменял права у картинки, как сказано в видео.
3. Запустил SQL используя Service....
4. Так-же запустил Apache2, проверил на первоначальной странице - он работает.
5. Попробовал открыть файл .php, страница пустая белая. (Запускал указывая localhost так и 127.0.0.1 в качестве локального доменного имени)
6. Подумал на свою ошибку с правами или с директориями, скопировал картинку в одну директорию с .php и поменял ссылку на картинку в файле .php. Изменений нет.

1111111.jpg


Вопрос вот в чем: Не отображается картинка и страница в целом при подключении Apache2 - Ошибочно срабатывает PHP файл или Права, или я что-то напутал в системный настройках?

Заранее, спасибо всем, кто откликнется на помощь.
 
Последнее редактирование:
Решение
В новых версиях СУБД изменена модель безопасности: вход в MySQL под рутом (root) требует sudo (при этом пароль всё равно может быть пустым). Из-за этого, при работе с пользователем root могут быть проблемы с доступом из каких-либо сторонних приложений. В реальной практике под рутом и так никто уже приложения не запускает, так как это ставит под угрозу безопасность не только БД но и сервера в случае, если в приложении окажется уязвимость.

Проще всего (и правильно) сделать другого пользователя, дать ему все права и уже под ним запускать скрипт.

В описании есть команда создания нового пользователя:
grant all privileges on golden_key.* to [email protected] identified by 'papa_Karlo';
flush privileges;


Однако и эта...

ReliableSecurity

Green Team
05.12.2021
11
3
У тебя она не совсем пустая, отображается tag title, значит вебсервер отрабатывает.
PHP то сам установил, включил, проверил ?
Создай такой php и проверь:
PHP:
<?php
phpinfo();
?>
1655945340609.png


PHP у меня установлено и обновлено, но я не запускал его - я предполагал, что он запускается на автомате. Поскольку у меня нет опыта в работе с PHP, не могли-бы вы пояснить мне, как именно его запустить и стоит ли его учить, для работы с SQL-injection. (Страница без изменений)
 
Последнее редактирование:

Exited3n

Green Team
10.05.2022
200
17
е могли-бы вы пояснить мне, как именно его запустить
Инфо отобразилось, значит PHP включен и работает. А на втором скрине скорее всего с бд какие то проблемы, вывод ошибок как минимум включить и смотреть.
 

ReliableSecurity

Green Team
05.12.2021
11
3
Инфо отобразилось, значит PHP включен и работает. А на втором скрине скорее всего с бд какие то проблемы, вывод ошибок как минимум включить и смотреть.

В папке /var/log/mysql пусто, но я провел тест и в системных логах нашел ошибку.
Но, не могу найти точной документации что-бы понять в чем именно проблема.

1655947668873.png


Вы не сталкивались с данной трудностью?
 

explorer

Platinum
05.08.2018
1 065
2 428
В новых версиях СУБД изменена модель безопасности: вход в MySQL под рутом (root) требует sudo (при этом пароль всё равно может быть пустым). Из-за этого, при работе с пользователем root могут быть проблемы с доступом из каких-либо сторонних приложений. В реальной практике под рутом и так никто уже приложения не запускает, так как это ставит под угрозу безопасность не только БД но и сервера в случае, если в приложении окажется уязвимость.

Проще всего (и правильно) сделать другого пользователя, дать ему все права и уже под ним запускать скрипт.

В описании есть команда создания нового пользователя:
grant all privileges on golden_key.* to [email protected] identified by 'papa_Karlo';
flush privileges;


Однако и эта команда уже устарела, и в новых версиях юзера нужно создавать и давать ему привилегии в два запроса:

CREATE USER 'buratino'@'localhost' IDENTIFIED BY 'papa_Karlo';
GRANT ALL PRIVILEGES ON golden_key.* TO 'buratino'@'localhost';
flush privileges;


Соответственно в скрипте меняете данные:

<?php
$host = 'localhost'; // Хост
$user = 'buratino'; // Имя пользователя
$pass = 'papa_Karlo'; // Установленный пароль пользователю


После этого или перезагружаете ОС или перезапускаете сервис systemctl restart mariadb и всё заработает.
 
Решение

migu

Grey Team
14.01.2020
198
45
ТС, если ответ получен, то справа выделите стрелочкой ответ и пометьте, что тема закрыта.
 
Мы в соцсетях: