Открытый Server-status в Электронном правительстве Казахстана или как получить базу данных граждан
Ранее мы сообщали об уязвимостях на портале «Электронного правительства» Казахстана, причинами которых являлись ошибки разработчиков. Сейчас же хотим рассказать об одной уязвимости, причиной которой стали не разработчики, а скорее администраторы. Одна «незначительная» деталь, которая может привести к колоссальным последствиям и повторению ситуации с турецкими гражданами, когда в сети была выложена вся база турецкого населения.
Ошибка, описанная в данной статье, нами была передана разработчикам ЭП и исправлена, соответственно эксплуатация уязвимости уже невозможна. С учетом указанного, считаем данная публикация не повлечет утечку чьих-либо персональных данных. Но мы не можем гарантировать того, что документы наших граждан уже не были получены злоумышленниками и не сохранены для каких-либо действии.
Итак, на портале электронного правительства, при запросе той или иной справки, пользователь получает прямую ссылку на документ в формате *.PDF, которая выглядит примерно так:
<a href="http://egov.kz/shepDownloadPdf?favorId">http://egov.kz/shepDownloadPdf?favorId</a>(номер документа)&iin=(номер ИИН)
Ошибка админов заключается в общей доступности Server-Status, что в свою очередь раскрывает все передаваемые запросы GET (показано на рисунке ниже).
Итак, используя незначительную ошибку, которую многие ошибочно считают таковой, можно произвести масштабную атаку по краже документов. Все, что для этого требуется – немного свободного времени и простой скрипт для автоматизации процесса.
Был написан небольшой счетчик для анализа, который показал, что существовала возможность выкачать более 50 000 документов (или около 10GB) граждан Республики Казахстан за недельный срок. А это не только безобидные адресные справки граждан, но и различные документы с чувствительной информацией, такие как справки о наличии недвижимого имущества.
Вот так вот «незначительная» уязвимость из-за некорректной настройки администратора может повлечь за собой слив базы данных граждан.