diff --git a/static/index.css b/static/index.css index a1bee8f..9034c3a 100644 --- a/static/index.css +++ b/static/index.css @@ -61,6 +61,19 @@ color: rgba(225, 225, 225, 0.6); } +.usable-context { + font-family: Monocraft; + text-align: center; + color: rgba(225, 225, 225, 0.6); + text-align: right; + cursor: pointer; + transition: 0.3s; +} + +.usable-context:hover { + text-decoration: underline; +} + .translate-header { width: 100%; height: 100%; @@ -112,6 +125,7 @@ .sql-guide { width: 65%; height: auto; + max-height: 37rem; background-color: rgb(0 0 0/ 90%); padding: 0.4rem 1rem; margin-left: 3.5rem; @@ -120,8 +134,19 @@ transform: translateX(-165%); transition: 0.5s; position: absolute; + } +/*.scroll { + + max-height: 34rem; + width: 100%; + overflow-y: scroll; + scrollbar-color: green; + scrollbar-gutter: stable both-edges; + +} +*/ .sql-guide:hover { box-shadow: 1.2em 1.2em 0em 0px rgba(186, 65, 166, 0.9); } diff --git a/templates/sql-injection.html b/templates/sql-injection.html index 27a5e2b..a747460 100644 --- a/templates/sql-injection.html +++ b/templates/sql-injection.html @@ -3,20 +3,21 @@ {% block content %}
SQL-инъекция - уязвимость системы, позволяющая пользователю ввести вредоносный код в SQL-запрос.
-
Как именно это работает? Все дело в том, что данные, которые ввёл пользователь, вставляются в запрос напрямую (пример кода с сервера ниже)
-#Как же это работает на сервере?(не стоит так делать, иначе ваш код будет иметь ту же уязвимость)
+
+ SQL-инъекция - уязвимость системы, позволяющая пользователю ввести вредоносный код в SQL-запрос.
+
Как именно это работает? Все дело в том, что данные, которые ввёл пользователь, вставляются в запрос напрямую (пример кода с сервера ниже)
+ #Как же это работает на сервере?(не стоит так делать, иначе ваш код будет иметь ту же уязвимость)
login = request.form['login'] # Получаем данные из окна с логином, которые пользователь ввёл в форму
password = request.form['pass'] # Так же получаем данные из окна с паролем
cursor = get_db().cursor() # Получение доступа к базе данных
cursor.execute(f'SELECT * FROM Users WHERE login == "{login}" AND password == "{password}"') # Вставляем в запрос данные от пользователя
- Так в место того, чтобы вводить свои данные, можно ввести определённые команды (как правило - вредоносные)
- Вводим в соответствующее поле предполагаемый логин админа - admin, а часть кода с проверкой пароля, которая идёт после проверки логина, просто закомментируем знаками ";--.
- Если мы введём admin";-- в поле логин, то наш запрос на сервер отправится вот так:
- cursor.execute(f'SELECT * FROM Users WHERE login == "admin";--" AND password == "{password}"')
- Вы успешно вошли под логином admin. скрыть
+ Так в место того, чтобы вводить свои данные, можно ввести определённые команды (как правило - вредоносные)
+ Вводим в соответствующее поле предполагаемый логин админа - admin, а часть кода с проверкой пароля, которая идёт после проверки логина, просто закомментируем знаками ";--.
+ Если мы введём admin";-- в поле логин, то наш запрос на сервер отправится вот так:
+ cursor.execute(f'SELECT * FROM Users WHERE login == "admin";--" AND password == "{password}"')
+ Вы успешно вошли под логином admin. скрыть
+