zap инструмент, показывающий уязвимость безопасности, но мы не можем найти эту уязвимость в нашем исходном коде? - PullRequest
0 голосов
/ 08 мая 2018

уязвимость отображается как: -

  1. SQL-инъекция - SQLite

Метод: GET

Параметр: запрос

Атака: '| case randomblob (10000000) когда не ноль, тогда "" else "" end -

Доказательства: Время запроса контролируется с помощью значения параметра ['| случай randomblob (10000000), когда не равен NULL, а затем "" else "end -], что вызвало запрос [542] миллисекунд, значение параметра ['| случай randomblob (100000000), когда он не равен NULL, тогда "" else "end -], в результате чего запрос занимал [900] миллисекунд, когда исходный неизмененный запрос со значением [query] занимал [167] миллисекунд.

  1. SQL-инъекция - Oracle - по времени

Метод: GET

Параметр: запрос

Атака: поле: [запрос], значение [запрос и существует (SELECT UTL_INADDR.get_host_name ('10 .0.0.1 ') из двойного объединения SELECT UTL_INADDR.get_host_name ('10 .0.0.2') из двойного объединение SELECT UTL_INADDR.get_host_name ('10 .0.0.3 ') из двойного объединения SELECT UTL_INADDR.get_host_name ('10 .0.0.4') из двойного объединения SELECT UTL_INADDR.get_host_name ('10 .0.0.5 ') из двойного) -]

  1. Усовершенствованная SQL-инъекция - Oracle И слепой на основе времени

Метод: GET

Параметр: запрос

Атака: запрос И 2972 ​​= DBMS_PIPE.RECEIVE_MESSAGE (CHR (113) || CHR (65) || CHR (80) || CHR (114), 5)

  1. SQL-инъекция - MsSQL

Метод: GET

Параметр: запрос

Атака: запрос WAITFOR DELAY '0: 0: 15' -

  1. Внедрение SQL - Гиперзвуковой SQL - На основе времени

Метод: GET

Параметр: запрос

Атака: поле: [запрос], значение ["; выберите" java.lang.Thread.sleep "(15000) из INFORMATION_SCHEMA.SYSTEM_COLUMNS, где TABLE_NAME = 'SYSTEM_COLUMNS' и COLUMN_NAME = 'TABLE_NAME' -]

  1. SQL-инъекция - PostgreSQL - по времени

Метод: GET

Параметр: запрос

Атака: поле: [запрос], значение [случай когда приведено (pg_sleep (15) как varchar)> '' затем 0 или 1 конец]

  1. SQL-инъекция - MySQL

Метод: GET

Параметр: запрос

Атака: запрос / сон (15)

  1. Advanced SQL Injection - PostgreSQL> 8.1 стековых запросов (комментарий)

Метод: GET

Параметр: запрос

Атака: запрос; SELECT PG_SLEEP (5) -

  1. Расширенное SQL-внедрение - Сложенные запросы Oracle (DBMS_PIPE.RECEIVE_MESSAGE - комментарий)

Метод: GET

Параметр: запрос

Атака: Фев 2018; ВЫБЕРИТЕ DBMS_PIPE.RECEIVE_MESSAGE (CHR (105) || CHR (122) || CHR (102) || CHR (108), 5) ОТ ДВОЙНОГО -

  1. Усовершенствованная SQL-инъекция - Microsoft SQL Server / Sybase на основе времени слепой.

Метод: GET

Параметр: запрос

Атака: запрос) WAYFFOR DELAY CHAR (48) + CHAR (58) + CHAR (48) + CHAR (58) + CHAR (91) + CHAR (83) + CHAR (76) + CHAR (69) + CHAR (69) + CHAR (80) + CHAR (84) + CHAR (73) + CHAR (77) + CHAR (69) + CHAR (93) И (1972 = 1972

Весь наш исходный код следует приведенному примеру: -

public interface UserRepository extends JpaRepository<User, Long> { @Query("select u from User u where u.firstname = :firstname or u.lastname = :lastname") User findByLastnameOrFirstname(@Param("lastname") String lastname, @Param("firstname") String firstname); }

1 Ответ

0 голосов
/ 08 мая 2018

Выберите одну из основанных на времени атак и перезапустите ее - вы можете сделать это, щелкнув правой кнопкой мыши по предупреждению в ZAP и выбрав «Открыть / повторно отправить с редактором запросов». Проверьте, сколько времени занял запрос (он показан в нижней части диалогового окна) - это было то же время (или чуть больше), чем задержка, используемая атакой? Если это так, попробуйте увеличить задержку и отправить повторно - теперь это занимает больше времени?

Если время зависит от времени, указанного в атаке, у вас будет уязвимость SQL-инъекции.

Почему я сказал что-то о исходном коде, который вы опубликовали? Это потому, что я понятия не имею, если это весь соответствующий код:)

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

...