fix: Turn on scrolling

This commit is contained in:
Sweetbread 2025-02-02 19:36:48 +03:00
parent eddc897ab4
commit d51ba3c8bf
2 changed files with 13 additions and 10 deletions

View File

@ -10,6 +10,11 @@
#popup { #popup {
display: none; display: none;
overflow-y: auto;
}
::-webkit-scrollbar {
display: none;
} }
.inpt { .inpt {

View File

@ -3,20 +3,18 @@
{% block content %} {% block content %}
<div class="container"> <div class="container">
<div id="popup" class="sql-guide divv"> <div id="popup" class="sql-guide divv">
<div class="scroll"> <p class="simpletext"style="text-align: left"><span class="hltext">SQL-инъекция</span> - уязвимость системы, позволяющая пользователю ввести вредоносный код в SQL-запрос.<br />
<p class="simpletext"style="text-align: left"><span class="hltext">SQL-инъекция</span> - уязвимость системы, позволяющая пользователю ввести вредоносный код в SQL-запрос.<br /> <p class="simpletext" style="text-align: left">Как именно это работает? Все дело в том, что данные, которые ввёл пользователь, вставляются в запрос напрямую <span class="context" style="font-size: 0.9rem">(пример кода с сервера ниже)</span></p>
<p class="simpletext" style="text-align: left">Как именно это работает? Все дело в том, что данные, которые ввёл пользователь, вставляются в запрос напрямую <span class="context" style="font-size: 0.9rem">(пример кода с сервера ниже)</span></p> <pre><code class="codefont python">#Как же это работает на сервере?(не стоит так делать, иначе ваш код будет иметь ту же уязвимость)
<pre><code class="codefont python">#Как же это работает на сервере?(не стоит так делать, иначе ваш код будет иметь ту же уязвимость)
login = request.form['login'] # Получаем данные из окна с логином, которые пользователь ввёл в форму login = request.form['login'] # Получаем данные из окна с логином, которые пользователь ввёл в форму
password = request.form['pass'] # Так же получаем данные из окна с паролем password = request.form['pass'] # Так же получаем данные из окна с паролем
cursor = get_db().cursor() # Получение доступа к базе данных cursor = get_db().cursor() # Получение доступа к базе данных
cursor.execute(f'SELECT * FROM Users WHERE login == "{login}" AND password == "{password}"') # Вставляем в запрос данные от пользователя</code></pre> cursor.execute(f'SELECT * FROM Users WHERE login == "{login}" AND password == "{password}"') # Вставляем в запрос данные от пользователя</code></pre>
<p class="simpletext" style="text-align: left">Так в место того, чтобы вводить свои данные, можно ввести определённые команды <span class="context" style="font-size: 0.9rem">(как правило - вредоносные)</span> <p class="simpletext" style="text-align: left">Так в место того, чтобы вводить свои данные, можно ввести определённые команды <span class="context" style="font-size: 0.9rem">(как правило - вредоносные)</span>
Вводим в соответствующее поле предполагаемый логин админа - <span class="mono">admin</span>, а часть кода с проверкой пароля, которая идёт после проверки логина, просто закомментируем знаками <span class="mono">";--</span>. Вводим в соответствующее поле предполагаемый логин админа - <span class="mono">admin</span>, а часть кода с проверкой пароля, которая идёт после проверки логина, просто закомментируем знаками <span class="mono">";--</span>.
Если мы введём <span class="mono">admin";--</span> в поле логин, то наш запрос на сервер отправится вот так:</p> Если мы введём <span class="mono">admin";--</span> в поле логин, то наш запрос на сервер отправится вот так:</p>
<pre><code class="codefont python">cursor.execute(f'SELECT * FROM Users WHERE login == "admin";--" AND password == "{password}"')</code></pre> <pre><code class="codefont python">cursor.execute(f'SELECT * FROM Users WHERE login == "admin";--" AND password == "{password}"')</code></pre>
<p class="simpletext">Вы успешно вошли под логином <span class="mono">admin</span>. <span class="usable-context" onclick="hidePopup()">скрыть</span></p> <p class="simpletext">Вы успешно вошли под логином <span class="mono">admin</span>. <span class="usable-context" onclick="hidePopup()">скрыть</span></p>
</div>
</div> </div>
<div class="divv" id="sqlInpt"> <div class="divv" id="sqlInpt">
<form action="sql-injection" method="post" class="simpletext"> <form action="sql-injection" method="post" class="simpletext">