Введение
В этой лабораторной работе вы изучите две фундаментальные концепции безопасности: проверку входных данных и целостность кода. Проверка входных данных — это практика обеспечения того, чтобы любые входные данные, получаемые программой, были безопасными и правильно сформированными перед их обработкой. Это критически важная защита от широкого спектра атак, включая инъекции команд. Целостность кода включает проверку того, что код вашего приложения не был изменен или поврежден неуполномоченным лицом.
Вы изучите эти концепции на практике. Сначала вы создадите простой скрипт оболочки (shell script), который намеренно уязвим для инъекций команд. Затем вы воспользуетесь этой уязвимостью, чтобы понять риск. После этого вы защитите скрипт, реализовав надлежащую очистку входных данных (input sanitization). Наконец, вы узнаете, как использовать криптографические хэши для проверки целостности вашего скрипта, гарантируя, что он не был подделан.



