Найти тему

Обход более защищенной авторизации с помощью SQL-инъекций.

Продолжаем обходить авторизацию на нашем веб-сайте, но теперь попробуем изменить настройки безопасности на более защищенные.

На данном этапе установлен уровень безопасности «0», т. е. наименее защищенный режим:

-2

Нам нужно нажать на кнопку «Toggle Security», чтобы изменить настройки безопасности на «1»:

-3

Давайте попробуем обойти авторизацию предыдущим способом, который я использовал ранее, а именно в поле «Name», я пропишу «admin #», а в поле «Password» укажу любой пароль:

-4

В итоге мы получаем всплывающее окно, с оповещением того, что были обнаружены недопустимые символы.

Давайте попробуем протестировать еще один эксплойт, при котором пользователь оставался без изменений (admin), а вот пароль принимал вид: «123' or 1=1 #»:

-5

В итоге у нас возникает та же самая ошибка, использования недопустимых символов. Эта фильтрация может идти как со стороны клиента, так и со стороны сервера. Тут все просто, так как если фильтрация проходит со стороны клиента, то она работает перед тем, как запрос будет отправлен на сервер. Если же рассматривать фильтрацию сервера, то это процесс передачи символов от клиента, где сервер обрабатывает символы, без участия клиента.

Если фильтрация проходит со стороны клиента, то это очень легко обойти с помощью Burp Proxy.

Нужно сконнектить браузер с инструментом Burp Suite.

Это делается в несколько шагов. Не буду описывать, просто смотрите скриншоты:

-6
-7
-8

И коннектим BurpSuite:

-9

Переходим на вкладку Intercept, и перехватчик должен быть включен:

-10

Если я хочу перейти на любую страницу, для примера это будет «Home», то в BurpSuite отобразится исчерпывающая информация, которую удалось перехватить:

-11

Попробуем авторизоваться с помощью логина «admin», в поле Name, и пароля «123' or 1=1 #», в поле «Password»:

-12

Ничего не было отправлено в Burp, так как этот запрос был остановлен до того, как был отправлен в интернет. Иными словами, он был блокирован со стороны клиента. В этой ситуации нужно избавиться от опасных символов, которые фильтруются на клиентской стороне. Мы просто введем логин и пароль, которые попадут в Burp Suite. В Burp мы добавим опасные символы, которые позволят нам обойти аутентификацию, или запустить код на сервере жертвы.

С помощью Burp мы сможем обойти фильтрацию со стороны клиента.

Теперь перейдем к практике, и на странице регистрации я введу в поле «Name» - admin, а в поле «Password» - aaa. Это обычный запрос, и он не будет блокирован со стороны клиента:

-13

Перейдем на вкладку «Params» в Burp Suite для того, чтобы отредактировать наш пароль, воспользовавшись эксплойтом, который мы уже использовали:

-14

Изменим поле с именем «password» на «123' or 1=1 #»:

-15

Жмем два раза кнопку «Forward» и переходим на веб-сайт:

-16

В итоге мы успешно авторизировались под учетной записью администратора.

На этом все. Всем хорошего дня!