Как можно заразиться вирусом просто посещая сайты?
Сейчас это крайне тяжело. Заражение возможно через четыре канала:
• Уязвимости конкретного браузера. Кстати, это одна из причин, почему каждая вкладка Хрома — отдельный (и низкопривилегированный) процесс: если процесс хакнут, меньше шансов, что дойдёт до овладения компьютером.
UPD. Это такой набор данных (например, специально созданный GIF/JPEG/HTML), который, например, пробивает в браузере буфер.
• Уязвимости плагинов. Уязвимости в Java — это настолько обсосанная вещь, что и говорить не буду; вроде от Java в вебе отказались даже сами Oracle. Flash каждую неделю обновляют. Уязвимости плагинов плохи двумя вещами: 1) Пускай сейчас в мире один браузер — есть ещё два десятка прихлебателей и три браузера «труба пониже, дым пожиже». А Флэш один на всех; 2) Старое плагинное API, оставленное только Флэшу,— большая дыра в безопасности.
• Уязвимости прочего софта. Казалось бы, качаешь PDF — а это эксплойт для Adobe Reader.
• «Троянские кони» — но это уже надо своими руками запустить EXE.
Кстати, в нашей пиратской культуре считается, что UAC надо побыстрее отключить, и во всех «левых» дистрибутивах он выключен. По-моему, это в корне неверно.
1. Для начала да, javascript может быть уязвимым.
2. Уязвимости в браузере и ОС(например реализация стандартных функций и библиотек, которые позволяли выполнить код из хитро-сделанного .gif или .pdf)
3. Различные плагины к браузеру могут быть уязвимы. Из плагинов, обычно установленных - flash и java. Сейчас от этого браузеры отказываются, но не все сайты перешли на html5/javastart, приходится поддерживать.
4. Различные обновления к софту, который у вас установлен и периодически обновляется, могут быть скомпроментированы.
5. Уязвимости на уровне железа. Не уверен, но насколько я понял, meltdown можно замутить и через браузер.
6. В IE могут быть свои уязвимости через ActiveX
7. Сторонний софт, открывающиеся по ссылкам (мессенджеры, почтовые клиенты)