捂了N年的一个东西,今天公布了吧。
当通过DISCUZ系列程序的SQL注入漏洞,获得用户的HASH和ucenter的uckey后,其实是可以直接构造管理员的session的,然后在前台以管理员的身份做任何操作。
DISCUZ论坛验证了登录的IP,不过大家看看代码就会知道怎么绕了,而uchome弱一点,没有IP限制,我就拿uchome举例说说这个方法:
1.首先member表中存着用户的HASH,这个是和ucenter互动的,用户登录的时候会更新。

2.用户登录后,会在session表中保存记录。

3.如果对方登录以后没有退出,session表内的记录是不会删除的。
4.在这个情况下,我们就可以劫持session了。
可以直接在DZ系列程序中找到authcode这个函数,这个函数是DZ独创的一个加密算法,sessoin的生成方法是:
authcode($hash."\t".$uid, "ENCODE",$uckey);

5.拿到session后,设置COOKIE中uchome_auth字段的值为我们生成的session,就可以以对方的身份操作。

6. 接下来怎么做就各显神通了,象UCHOME的XSS实在太多了,随手给管理员的个人主页安个XSS木马,等他下次登陆自己的UCHOME时,直接收密码就可以了。