Sablog-X 2.0 后台管理权限欺骗漏洞

date 2010年02月25日 | category 学习笔记| 坏人咖啡

作者:Ryat

前不久80vul公布了sax2.0的一个漏洞,随后4ngel发布了补丁,不过权限验证部分的代码还是存在问题,下面就来简单说说这个漏洞:D

下面来看下这几个变量是怎么来的

由上面的代码可以看到,如果我们知道session表中uid为1的数据的sax_hash和onlineip,通过流程[2][3]就可以查询出正确的管理员信息,再通过extract($_EVO)注册变量,就可以通过后台的验证,获得管理员权限了:)
那么我们如何知道正确的sax_hash和onlineip呢?

replacesession()函数为我们提供帮助,因为$sax_hash、$sax_uid、$onlineip这些变量是可以控制的,所以我们可以向session表中出入一条uid为1的数据:)

首 先我们使$sax_uid为1,$sax_pw为空,这样就会跳过流程[1]执行流程[2],这时我们的sax_hash和onlineip在 session表中并不存在,所以流程[3]不会执行,通过extract($_EVO)注册变量时也不会重新注册$sax_uid、$sax_hash 和$onlineip,这样我们就可以通过updatesession()函数向session表中插入一条uid为1同时sax_hash和 onlineip也是我们知道的数据了
然后我们重新执行上面的过程,因为这时session表里已经有了我们需要的数据了,流程[3]将被执 行,user表中uid为1的管理员数据将被查询出并合并到$_EVO,并通过extract()重新注册变量[$sax_group的值将被重新注册为 1],这样我们就可以通过后台权限验证,并获得管理员权限了:)

PoC:

所属分类: 学习笔记
Tags: , ,


没有评论

暂无评论

RSS feed for comments on this post.

对不起,该文章的评论被关闭了!