---
# System prepended metadata

title: Untitled

---

**1. SQL-injection уязвимости:**
SQL-injection — это уязвимость веб-безопасности, которая позволяет злоумышленнику вмешиваться в запросы, которые приложение делает к своей базе данных.
1. ![](https://i.imgur.com/L4V138n.png)
    В этой лабраторной надо войти в систему под именем администратора (administrator) без пароля. Для этого используется последовательность коментариев SQL ``--``, которая 'ломает' запрос сервера, и закоментирует проверку пароля, благодаря чему она не случается. Поэтому для входа в систему достаточно ввести в имени пользователя ``administrator'--``![](https://i.imgur.com/nMUvkss.png)

2. ![](https://i.imgur.com/IxnpHCA.png)
    Здесь нужно извлечь скрытые данные. Для этого в посковом запросе нужно вписать ``'+OR+1=1--``, тем самым добавив в исходный запрос
    ``SELECT * FROM products WHERE category = '...' AND released = 1``
    новое условие и закоментировав следующее, таким образом сервер поучит запрос:
    ``SELECT * FROM products WHERE category = '' OR 1=1``~~' AND released = 1~~
    Таким образом условие всегда будет верно и сервер выдаст все данные![](https://i.imgur.com/vCX3W0G.png)

3. ![](https://i.imgur.com/bcFIk4L.png)
    Здесь при атаке используется ключевое слово ``UNION`` для извлечения данных из другой таблицы в базе данных (в данном случае таблица логинов и паролей), т.к. оно позволяет выполнять дополнительные запросы ``SELECT`` и добавить их к исходному.
    Таким образом, для получения таблицы логинов и паролей, нужно ввести следущее:
    ``'+UNION+SELECT+username,+password+FROM+users--``
    и сервер выдаст нам логины и пароли.![](https://i.imgur.com/bS0Uxy4.png)

4. ![](https://i.imgur.com/QXXs4jX.png)
    Здесь нужно отобразить версию базы данных. Для этого вновь используется ``UNION SELECT``. Вся атака проходит в 3 этапа:
    1. ``'+UNION+SELECT+NULL,NULL#`` для проверки кол-ва столбцов в запросе
    2. ``'+UNION+SELECT+‘abc’,‘def’#`` для проверки текстового типа данных
    3. ``'+UNION+SELECT+@@version,+NULL#`` для вывода версии базы данных
    ![](https://i.imgur.com/Zc3Vtau.png)


**2. XSS уязвимости:**
1. ![](https://i.imgur.com/D5lCplL.png)
    В этой лабораторной нужно использовать уязвимость в функции комментариев. Так, можно вызвать функцию ``alert``, введя в коментарий следующее:
    ``<script>alert(1)</script>``
    ![](https://i.imgur.com/YSxRyPC.png)

2. ![](https://i.imgur.com/65Lp2r1.png)
    Здесь нужно определить местонахождение запроса на сайте. Для этого введу в поиск ``asdf1234`` и попробую найти это в коде![](https://i.imgur.com/m4cwbIQ.png)
    После этого введу ``"><svg onload=alert(1)>``, чтобы вызвать функцию ``alert``.![](https://i.imgur.com/4uLPFOm.png)
    
3. ![](https://i.imgur.com/oKtgoFQ.png)
    Здесь нужно перехватить запрос и найти строку с нашими введёнными данными
    ![](https://i.imgur.com/q6j0fNj.png)
    Исходя из этого, для вызова функции ``alert``, нужно ввести в запрос следующее: ``'-alert(1)-'``
    ![](https://i.imgur.com/6Z2muFW.png)

4. ![](https://i.imgur.com/HTxj2Tv.png)
    Поиск файла для записи запроса![](https://i.imgur.com/stx6u5O.png)
    Просмотр данного файла![](https://i.imgur.com/1sUcbQR.png)
    Исходя из содержимого, для вызова функции нужно ввести ``\"-alert(1)}//``
    ![](https://i.imgur.com/XOvyFpC.png)

**3. CSRF:**
1. ![](https://i.imgur.com/X7TLQe5.png)
    Рассмотрим запрос на смену почты![](https://i.imgur.com/E7Aoon3.png)
    Исходя из этого редактируем тело эксплойт сервера (для этого можно воспользоваться онлайн переводчиком)
    ![](https://i.imgur.com/ICLNNym.png)
    ![](https://i.imgur.com/F90lLE7.png)

2. ![](https://i.imgur.com/lXlzMQ9.png)
    Здесь примерно тоже самое, но нужно изменить тип запроса с POST на GET, чтобы обойти проверку csrf:
    ![](https://i.imgur.com/Ny8bKyO.png)
    ![](https://i.imgur.com/5Bq06SO.png)

**4. SSRF:**
1. ![](https://i.imgur.com/AAkMv29.png)
    Проверка доступности страницы ``/admin``![](https://i.imgur.com/N3iaeFf.png)
    Заход через ``stockApi=http://localhost/admin``![](https://i.imgur.com/gEFuJQb.png)
    При попытке удалить пользователя получаем следующий запрос:![](https://i.imgur.com/CfHxbtu.png)
    На основе этого дописываем stockApi и отправляем запрос, тем самым удаляя пользователя:![](https://i.imgur.com/urrnfO3.png)

2. ![](https://i.imgur.com/yV1e4d8.png)
    Здесь используется уязвимость перенаправления
    ![](https://i.imgur.com/a83BWZ2.png)
    А далее дописать запрос на удаление пользователя, как в прошлой лабораторной
    
**5. RCE:**
![](https://i.imgur.com/xBhGPGv.png)
    Здесь нужно перехватить запрос и изменить занчение параметра storeId, чтобы получить нужную нам информацию![](https://i.imgur.com/HFV7KBv.png)


**6. Path traversal:**
1. ![](https://i.imgur.com/9xnF6A5.png)
    Здесь взлом происходит через изображение на сайте, изменяя имя файла.![](https://i.imgur.com/Jtccwif.png)
    Таким образом мы получаем содержимое файла /etc/passwd
    
2. ![](https://i.imgur.com/hceiXJD.png)
    Здесь происходит тоже самое, но только указывается абсолютный адрес, в отличие от предыдущер работы, где использовались ``../`` для перехода из папки image в корневую папку