Сегодня решил чуток посниффать свой серверный канал и мельком осмотрел пакеты, идущие к HL серверам.
Наткнулся на тот самый запрос, который получает публичные CVARы. А в публичных CVARах, оказывается, много очень интересностей. Которые никому, кроме как потенциальным взломщикам не нужны =)
Таким пакетом можно собрать все cvarы с сервера(C-переменная):
Код:
char q56[9]="\xFF\xFF\xFF\xFF\x56\xFF\xFF\xFF\xFF";
Во вложении он же в бинарном виде.
Вот, что я получаю, когда спрашиваю свой сервер:
Код:
$ cat q56.packet | ncat -ui 500 hl.unix-gaming.net 27015 | tr '\0' '\n'
����EE
afk_version
1.0b
allow_spectators
1
amx_client_languages
0
amx_language
en
amx_nextmap
vertigo
amx_timeleft
04:18
amxmodx_version
1.8.2-dev
antiegon_mode
1
antiegon_version
3.1
bhpk_version
2.6
bunnyjump_version
1.12
coop
0
deathmatch
1
decalfrequency
30
dp_version
0.8.68
edgefriction
2
hl_admin_spectate_version
1.0
max_queries_sec
1
max_queries_sec_global
1
max_queries_window
1
metamod_version
1.19
mp_allowmonsters
0
mp_autocrosshair
1
mp_chattime
10
mp_consistency
1
mp_falldamage
0
mp_flashlight
0
mp_footsteps
1
mp_forcerespawn
1
mp_fraglimit
0
mp_fragsleft
0
mp_friendlyfire
0
mp_logfile
1
mp_teamlist
hgrunt;scientist
mp_teamplay
0
mp_timeleft
258
mp_timelimit
20
mp_weaponstay
0
pausable
0
satchels_remover_version
1.0
sm_version
1.4
specfix_version
0.1
sv_accelerate
10
sv_aim
0
sv_airaccelerate
10
sv_airmove
1
sv_allowupload
1
sv_alltalk
0
sv_bounce
1
sv_cheats
0
sv_clienttrace
3.5
sv_clipmode
0
sv_contact
sv_friction
4
sv_gravity
800
sv_logblocks
0
sv_maxrate
0
sv_maxspeed
300
sv_minrate
0
sv_password
0
sv_proxies
1
sv_region
255
sv_stepsize
18
sv_stopspeed
100
sv_uploadmax
0.5
sv_voiceenable
1
sv_wateraccelerate
10
sv_waterfriction
1
utsounds_version
2.1
Довольно немало информации, правда? Особенно, интересующий нас dproto. Несложно написать скрипт, который будет сканировать сервера и искать старые уязвимые версии софта.
Но эта проблема вполне решаема. Уберем ненужные нам версии, добавив следующие строки в server.cfg:
Код:
bunnyjump_version 0
dp_version 0
metamod_version 0
Остальные вещи, такие как amxmodx_version и версии плагинов, касающиеся AMX надо убирать через amxx.cfg, ибо многие из них ресетятся после смены карты.
Вот, что я получаю после того, как добавил нулевые cvar'ы в конфиги:
Код:
$ cat q56.packet | ncat -ui 500 hl.unix-gaming.net 27015 | tr '\0' '\n'
����EE
afk_version
1.0b
allow_spectators
1
amx_client_languages
0
amx_language
en
amx_nextmap
cold_faces
amx_timeleft
18:24
amxmodx_version
0
antiegon_mode
1
antiegon_version
3.1
bhpk_version
2.6
bunnyjump_version
0
coop
0
deathmatch
1
decalfrequency
30
dp_version
0
edgefriction
2
hl_admin_spectate_version
1.0
max_queries_sec
1
max_queries_sec_global
1
max_queries_window
1
metamod_version
0
mp_allowmonsters
0
mp_autocrosshair
1
mp_chattime
10
mp_consistency
1
mp_falldamage
0
mp_flashlight
0
mp_footsteps
1
mp_forcerespawn
1
mp_fraglimit
0
mp_fragsleft
0
mp_friendlyfire
0
mp_logfile
1
mp_teamlist
hgrunt;scientist
mp_teamplay
0
mp_timeleft
1104
mp_timelimit
20
mp_weaponstay
0
pausable
0
satchels_remover_version
1.0
sm_version
1.4
specfix_version
0.1
sv_accelerate
10
sv_aim
0
sv_airaccelerate
10
sv_airmove
1
sv_allowupload
1
sv_alltalk
0
sv_bounce
1
sv_cheats
0
sv_clienttrace
3.5
sv_clipmode
0
sv_contact
sv_friction
4
sv_gravity
800
sv_logblocks
0
sv_maxrate
0
sv_maxspeed
300
sv_minrate
0
sv_password
0
sv_proxies
1
sv_region
255
sv_stepsize
18
sv_stopspeed
100
sv_uploadmax
0.5
sv_voiceenable
1
sv_wateraccelerate
10
sv_waterfriction
1
utsounds_version
2.1
Примечание: показаны команды из пакетов coreutils и nmap на платформе linux.