关于最近服务端炸频道提权漏洞的解决办法

先说解决方法:
df_game_r
0x1934EB
0x26 -> 0x00
关于最近服务端炸频道提权漏洞的解决办法

关于最近服务端炸频道提权漏洞的解决办法

问题出在Dispatcher_Select_Item_Grwoth_Power::read函数
程序从客户端传回来的数据包中读取1字节作为for循环的次数,但没有对次数做限制
进入for循环后,从数据包中循环读取字节并写入到变量a3

关于最近服务端炸频道提权漏洞的解决办法

Dispatcher_Select_Item_Grwoth_Power::read函数由IPacketDispatcher<MSG_GROWTH_POWER,stGrowthPowerParam,(ch_state)3>::dispatch_template调用
变量a3既是v6,v6大小为19字节,子函数堆栈大小为48字节,虽然for循环最大次数只能是1字节最大255,但已经导致v6变量溢出,可以覆盖函数返回指针,控制程序执行任意代码。

关于最近服务端炸频道提权漏洞的解决办法

通过流传的漏洞利用工具源码可知,覆盖了函数返回指针后,控制程序跳转至syscall,通过linux系统调用执行了execve函数,使用/bin/sh执行了shell指令

———————————————————————台服dnf吧:@whoamilol

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容