Конечно, книга, посвященная C / C ++, будет посвящена наиболее распространенному эксплойту.Трюки с памятью в стеке и пр.
Что касается "очевидного" примера языка с множеством защитных кават без прямого доступа к памяти ... как PHP?Помимо обычных XSS, CSRF и SQL-инъекций, у вас есть удаленное внедрение кода в более старые версии PHP из-за включения магии и так далее.Я уверен, что есть примеры Java, но я не эксперт по безопасности Java ...
Но поскольку эксперты по безопасности Java существуют, я уверен, что есть случаи, о которых вам нужно беспокоиться.(в частности, я уверен, что SQL-инъекция также изводит наивных веб-разработчиков Java).
РЕДАКТИРОВАТЬ: от всей души, Java имеет динамическую загрузку классов через ClassLoader.Если бы вы по какой-то причине написали собственный загрузчик классов и не проверяли файлы .class, то вы бы открыли свою программу до внедрения кода.Если этот пользовательский загрузчик классов каким-то образом читает классы из Интернета, то также возможно сделать удаленные внедрения кода.И как бы странно это ни звучало, это довольно часто.Рассмотрим Eclipse и его структуру плагинов.В буквальном смысле, он загружает загруженный код автоматически, а затем запускает их.Признаюсь, я не знаю архитектуру Eclipse, но держу пари, что безопасность является проблемой для разработчиков плагинов Eclipse.