четверг, 21 апреля 2016 г.

Уязвимости работы с файлами в Counter-Strike

Вступление

В данной статье мне бы очень хотелось рассмотреть с вами одну интересную заднюю дверь, которая существует в клиентах и серверах движка GoldSource ниже 5999 билда. Она позволяет серверам менять игрокам файлы, записывая в них свой мастерсервер или редактируя игровое меню, добавляя туда кнопку своего сервера. Клиентам же она позволяет загружать на сервера различные конфигурационные файлы (cfg), благодаря которым можно, например, установить свой rcon_password.
Проанализировав ссылки поисковой системы Google я пришел к выводу, что эта тема до сих пор не была полностью раскрыта. Всех, кто просил рассказать про это дело - гнали к шею. И есть за что, на самом деле, так как вряд ли сообщество захотело бы, чтобы в нём появился ещё один сервер, который навязывает свой мастерсервер и игровое меню. Но сейчас я всё же хочу рассказать, как это работает во всех деталях, так как я нахожу эту тему довольно интересной и загадочной, а в конце мы попробуем отредактировать себе файл MasterServer.vdf через motd_write. Наберитесь терпения, так как текста будет достаточно.
Чтобы понять, в чем проблема движка, который позволяет себе выполнять такие вещи с файловой системой, нужно поинтересоваться у него самого по этому поводу. Я это уже сделал сам и сейчас всё расскажу.