EXCMS0day(精彩的过程)

EXCMS0day(精彩的过程)
点评:以下版本没有测试的最新版本是在几个小时之前发布的官方^ _ ^哈没有注意到为什么过程精彩阅读理解!因为这个脆弱的原因!也策划了中国的软件产业!!!adminmodulesauthindex.php如果代码后台日志文件看经典白
以下版本未测试到最新版本
在几小时前公布官方未通报^ _ ^哈哈
为什么这个过程很精彩
因为原因不一般!同时,也映射了中国软件业的悲哀!!!
经典的白色代码看看
后端登录文件
adminmodulesauthindex.php
U3000 U3000
如果(定义(EXCMS )) / / /的index.php行政下列文件包括操作模式
{
}
如果(!定义(excms_admin ))
{
退出(拒绝访问);
}
excms_action美元{标题} =登录; / /标题
提出了_get美元美元= {选}; / /跳转登录的地方
附加码= { 'login_verifycode美元美元excms_config}; / /验证码…
如果($ _post { 'logintype}!= 1!空(美元_cookie { 'excmsadmin ' }))
请接受提示
{
defaultboxdisplay美元=没有;
boxdisplay美元= ;
remeberinfo美元=爆炸(
没有魔法可以看。
remeberadmin美元= $ remeberinfo { 0 };
remeberpwd美元= $ remeberinfo { 1 };
帐户密码访问(cookie)会发生非常令人惊讶的世界!
pwdforever美元= strtoupper(MD5($ remeberadmin。爱EXCMS永远));
这是中国的特色!你知道写2个良心的话是什么吗你知道什么叫做道德吗
remeberpwd = = = remeberpwd美元美元美元pwdforever真的假的;
logininputdispay美元=美元remeberpwd 没有;
logintype = $ 3美元remeberpwd:2;
}
其他的
{
defaultboxdisplay美元= ;
boxdisplay美元=没有;
logininputdispay美元=没有;
logintype = 1美元;
}
下面是输出登录界面
然后checklogin.php认证登录文件
经典的白色代码看看!
U3000 U3000
如果(定义(EXCMS )) / /的index.php有
{
}
如果(!定义(excms_admin ))
{
退出(拒绝访问);
}
excms_action美元{ 'loadtpl} =真;
adminname美元=装饰($参数{ 'adminname});
$密码=装饰($参数{ 'logintype} = = 2元参数{ 'password1'} { }参数:美元'password);
rememberpwd美元美元美元的}:{ 'savepwd param参数{ 'rememberpwd} = { } =参数'logintype美元= 2;
提出了美元美元=参数选{ };
login_fail美元=真;
$错误
美元 / /没有参数后的方式做这些事情
如果(空(美元adminname))
该帐户为空/检测
{
误差= getlangbyname美元(empty_adminname );
}
如果($参数{ 'logintype}!= 3空($密码)
这可能是第三步和密码是否为空的检测步骤
{
误差= getlangbyname美元(empty_password );
}
其他的
{
如果($参数{ 'logintype} = 3)
{
下面的错误是由编程技术的漏洞造成的,因此您可以找到任何PHP PHP认证。
remeberinfo美元=爆炸(
remeberadmin美元= $ remeberinfo { 0 };
remeberpwd美元= $ remeberinfo { 1 };
来自cookie的帐户密码访问!
pwdforever美元= strtoupper(MD5($ adminname。爱EXCMS永远));
如果($ remeberpwd = $ pwdforever)
/ /饼干加密过程更为简单espcms。
{
include_once(lib_path。系统
admin_obj美元=新的管理员();
管理=美元美元admin_obj -> getbyadminname($ adminname);
/悲剧!仅显示没有管理员帐户密码!!!
如果($ admin)
{
{ } =admin 'acl美元美元admin_obj -> getadminacl($行政'adminid{ });
_session美元{ 'admininfo} = $行政;
获取系统管理员权限!!!!!!!!!
+ + $ _session { 'admininfo} { 'logintimes};
admin_obj美元-> updatelastlogin($行政'adminid{ });
include_once(lib_path。认证/授权。类。PHP );
$auth =新的身份验证();
$auth -> checkmenu(真的);
excms_action美元{ 'loadtpl} = false;
login_fail美元= false;
}
}
}
其他的
这里没有所留下是真的/跳过验证登录状态,请注意是密码!
{
如果($ EXCMS { 'config} { 'login_verifycode})
{
{ } =参数'verifycode美元的修剪($参数{ 'verifycode});
如果($参数{ 'verifycode} = = )
{
误差= getlangbyname美元(empty_verifycode );
}
其他的
{
include_once(lib_path。工具 /码。类。PHP );
$码=新码();
如果(!$码->检查($参数{ 'verifycode ' }))
{
误差= getlangbyname美元(verifycode_failed );
}
}
}
如果(空($错误))
{
include_once(lib_path。认证/授权。类。PHP );
$auth =新的身份验证();
loginmsg美元= $auth ->登录(adminname美元,美元的密码);
如果($ loginmsg { ''成功' })
{
_session美元{ 'admininfo} = { } loginmsg美元'admininfo;
+ + $ _session { 'admininfo} { 'logintimes};
$auth -> checkmenu(真的);
如果($ rememberpwd = 1)
{
pwdforever美元= strtoupper(MD5($ adminname。爱EXCMS永远));
setcookie(excmsadmin
}
如果($参数{ 'logintype}!= 2美元的'rememberme} = = { 1)
{
setcookie(excmsadmin
}
login_fail美元= false;
excms_action美元{ 'loadtpl} = false;
}
其他的
{
误差= getlangbyname美元(美元loginmsg消息{ });
}
}
}
}
如果(!login_fail美元)
{
如果(空(美元了)| | strpos($提出指标。phpm =认证))
{
页眉()位置:索引
出口();
}
标题(位置;
出口();
}
errorcls美元=F;
如果($ excms_action { 'loadtpl})
{
如果(!为错误)
{
误差= getlangbyname美元(login_failed );
}
要求(modules_path。奥特/指标。PHP );
}
>
分析完成
最后给出了经验表达式。
excmsadmin =管理% 26858a611c5651ac436d4450ce23a858d1;
excmsadmin =管理员263e0331271f1133f9613bd49e7c4fb0cd %;
第一个是管理员。
第二个是管理员一般在这2个其他帐户,请自己结构。
结构的方法setcookie(excmsadmin
然后strtoupper轮流上下所有的信件。
将cookie直接修改到后台,然后自定义页编写程序
文章语言的COOKIES漏洞;不记得管理登录状态
请记住,管理登录的cookie是会话ID验证
100%个是作者留下的后门!

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部