PDA

Просмотр полной версии : Нашел на своем сайте sql уязвимость


Neshta
03.11.2018, 15:15
Доброго времени суток, ребята. Сразу скажу, что от безопасности далек, знаю только то что должны знать все. (некоторую терминологию и тп)
Являюсь веб разработчиком-любителем.
Решил пропинтестить свой сайт.
owasp-zap нашел sql уязвимость.
В конце адреса уязвимости добавил ' и сайт не вернул sql ошибки.
Попробовал через sqlmap заинжектиться, программа выбила ошибку.
Подскажите пожалуйста, это ложное срабатывание owasp-zap или я не смог слить БД в силу своих скудных знаний в сфере безопасности?
Если есть возможность слить БД, то каким образом это делается и как мне закрывать дыру в таком случае.

Заранее благодарю всех за помощь.

explorer
03.11.2018, 15:20
Neshta сказал(а):

Если есть возможность слить БД, то каким образом это делается



Например ТАК (https://forum.antichat.xyz/threads/1625501/)

Neshta
03.11.2018, 15:26
explorer сказал(а):

Например ТАК (https://forum.antichat.xyz/threads/1625501/)

Т.е. ложные срабатывания исключены? Сейчас попробую разобраться в Вашем гайде, спасибо. И есть ли гайд, как прикрыть дыру, зная ее URL?

Вот такая вот уязвимость ?query=query+AND+1%3D1+--+

explorer
03.11.2018, 15:57
Neshta сказал(а):

Т.е. ложные срабатывания исключены? Сейчас попробую разобраться в Вашем гайде, спасибо. И есть ли гайд, как прикрыть дыру, зная ее URL?



Ложные срабатывания не исключены. Дыры закрываются в файле .htaccess
Какая CMS стоит?

Neshta
03.11.2018, 16:04
explorer сказал(а):

htaccess


Ограничить доступ к данному урл?


explorer сказал(а):

Какая CMS стоит?


Нет движка. Страничка с прикрученным шлюзом оплаты и личный кабинет.

Вот у людей аналогичная ситуация. Пишут, что ложное срабатывание.
SQL Injection false positive · Issue #3662 · zaproxy/zaproxy

explorer
03.11.2018, 16:18
Neshta сказал(а):

Вот у людей аналогичная ситуация. Пишут, что ложное срабатывание.
SQL Injection false positive · Issue #3662 · zaproxy/zaproxy


Зачем тогда панику поднимать? Всё всегда с поиска нужно начинать. Видов уязвимостей много и универсальной защиты нет, есть некоторые фишки конечно, например в .htaccess я всегда вставляю этот код:

Код:



RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]


Это помогает от от XSS-инъекций. Для защиты от sql инъекций нужно фильтровать данные (экранировать спецсимволы), здесь об этом написано.

Вот хорошая статья более подробно по .htaccess расписано.