Ещё про хакинг - не новое, но интересное.
Пару лет назад в округе Колумбия построили систему для онлайн-голосования и в качестве теста пригласили желающих её взломать. Что группа из Мичиганского университета и сделала, успешно проникнув куда только можно - вплоть до получения доступа к веб-камерам в дата-центре, где системка хостилась. О чём они и издали очень увлекательную
статью. Самое впечатляющее, это какой мелкий баг послужил основой для взлома - небольшой кусочек кода не проверял имена шифруемых файлов:
run ( "gpg" , "--trust-model always -o
\"#{File.expand_path (dst.path)}\" -e -r
\"#{@recipient}\" \"#{File.expand_path (src.path) }\" " )
Того, что параметр src.path не фильтровался, оказалось вполне достаточно, чтобы гонять любые команды в шелле, ну а там уже пошло-поехало.
(Хотя надо признать, что создатели голосовалки строили её всё-таки спустя рукава - откровенной лажи с их стороны, типа неизменённых дефолтовых паролей, было череcчур много. Даже странно: предлагая систему для тестового хакинга, можно было приготовиться и получше.
Ещё я не понял, почему PDF с поданным голосом шифровался после аплоада на сервак, а не до. Логичней было бы шифровать его прямо на юзерской станции, и расшифровывать лишь при подсчёте голосов, разве нет?)
Ещё у них описан забавный эпизод, когда мичиганские академические хакеры обнаружили попытки конкурирующей команды из Ирана вломиться брутфорсом - и забанили соперников. По IP.