<pclass="simpletext"style="text-align: left"><spanclass="hltext">SQL-инъекция</span> - уязвимость системы, позволяющая пользователю ввести вредоносный код в SQL-запрос.<br/>
<pclass="simpletext"style="text-align: left">Как именно это работает? Все дело в том, что данные, которые ввёл пользователь, вставляются в запрос напрямую <spanclass="context"style="font-size: 0.9rem">(пример кода с сервера ниже)</span></p>
<pre><codeclass="codefont python">#Как же это работает на сервере?(не стоит так делать, иначе ваш код будет иметь ту же уязвимость)
<pclass="simpletext"style="text-align: left">Так в место того, чтобы вводить свои данные, можно ввести определённые команды <spanclass="context"style="font-size: 0.9rem">(как правило - вредоносные)</span>
Вводим в соответствующее поле предполагаемый логин админа - <spanclass="mono">admin</span>, а часть кода с проверкой пароля, которая идёт после проверки логина, просто закомментируем знаками <spanclass="mono">";--</span>.
Если мы введём <spanclass="mono">admin";--</span> в поле логин, то наш запрос на сервер отправится вот так:</p>
<pre><codeclass="codefont python">cursor.execute(f'SELECT * FROM Users WHERE login == "admin";--" AND password == "{password}"')</code></pre>
<pclass="simpletext">Вы успешно вошли под логином <spanclass="mono">admin</span>. <spanclass="usable-context"onclick="hidePopup()">скрыть</span></p>