香港独立IP空间
香港php空间
美国php空间
域名注册

风讯DOTNETCMS是一款具有强大功能的系统,基于.NET构架的内容管理软件,国内领先的第一款开源的.集成WEB2.0元素的模块化的CMS建站系统。
近日有网友在审计该系统代码的时候发现存在可以利用的漏洞,绕过管理员账号信息验证,直接进入后台,可谓是非常危险的一个利用漏洞。

下面给大家分享一下漏洞细节:

先从DotNetCMS的登录逻辑处代码分析,如下图:

15099322942920 300x154 风讯DotNetCMS v2.0被爆出存在后台登录绕过漏洞

24 300x78 风讯DotNetCMS v2.0被爆出存在后台登录绕过漏洞

验证登录的逻辑大致可以整理为以下四步

1.从${pre}_sys_User表中取出UserNum,UserName,SiteID

2.如果是管理员,则adminLogined=1;另外,info.uncert的默认值为false

3.将UserNum,UserName,SiteID,adminLogined,uncert用逗号隔开组成字符串,再使用源码内的加密算法进行加密

4.加密后的字符串写入cookie,name是SITEINFO

也就是说只要得到UserNum,然后给他加密起来写入到cookie中,就可以直接进入到后台了。

但是 UserNum是在安装Foosun CMS时,随机产生的一个12位的值,如果暴力枚举的话太耗费时间,也容易被网站管理员发现。

这时候需要利用到这系统的另一处注入漏洞,帮助拿到UserNum。

审计代码后发现 http://localhost/user/City_ajax.aspx?CityId=1 的CityId字段存在SQL注入漏洞,看下图:

31 风讯DotNetCMS v2.0被爆出存在后台登录绕过漏洞

 

所以可以在这个地方拿到 UserNum ,构造如下注入链接:

http://localhost/user/City_ajax.aspx?CityId=1%27%20union%20all%20select%20UserNum,UserNum%20from%20dbo.fs_sys_User%20where%20UserName=%27admin

访问上面链接如下图:

41 1024x109 风讯DotNetCMS v2.0被爆出存在后台登录绕过漏洞

 

可以看到已经UserNum已经显示出来了。

接下来只要将得到的UserNum代入上面所说的加密方法,得到加密串,写入cookie即可以成功登陆。

使用该程序建站的站长朋友请尽快更新官方的安全补丁,以免网站被人非法入侵利用。

以上方法步骤仅供技术学习研究,请勿用于非法用途。

本文地址:http://www.51php.com/safety/25643.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读: