Научиться закрывать уязвимости Web-приложений за счет написания безопасного кода
- Устранить уязвимость в написанном ранее сайте - SQLi
<aside> 💡 Использовать WAF как средство защиты в целом отличная практика, но не стоит забывать, что и в WAFе могут быть уязвимости. Поэтому, точно так же как и в период до появления WAF систем, необходимо писать безопасный код.
Предлагаю исправить те нелепые ошибки безопасности в коде, которые мы допустили.
</aside>
Перейдем к уязвимости, которая у нас была в файле posts.php, именно в этом файле мы эксплуатировали уязвимость SQLi, хотя уязвимость присутствует и в других файлах.
Для начала посмотрим на код php этого файла
Самый простой способ защиты от SQLi - это приведение к целочисленному типу, но это работает только там, где используются числовые значения, что хорошо подходит к нашему случаю.
Допишем в код, сразу после получения значения id
приведение к целочисленному значению
settype($id, 'integer');