### 简要描述:
帝国CMS 验证码可无视!可导致验证码无效(验证码识别都是渣渣)
### 详细说明:
看帝国 获取验证码的代码
```
//显示验证码
function ShowKey($v){
$vname=ecmsReturnKeyVarname($v);
$key=strtolower(domake_password(4));
ecmsSetShowKey($vname,$key);
..................
}
```
ecmsReturnKeyVarname 是返回保存验证码的cookie的名称
比如本列打开的页面上注册页面的验证码
url 是 http://localhost/empirecms/e/ShowKey/?v=reg
第一步:根据ecmsReturnKeyVarname 返回的是checkregkey
```
//返回变量名
function ecmsReturnKeyVarname($v){
if($v=='login')//登陆
{
$name='checkloginkey';
}
elseif($v=='reg')//注册
{
$name='checkregkey';
}
elseif($v=='info')//信息
{
$name='checkinfokey';
}
elseif($v=='spacefb')//空间反馈
{
$name='checkspacefbkey';
}
elseif($v=='spacegb')//空间留言
{
$name='checkspacegbkey';
}
elseif($v=='gbook')//留言
{
$name='checkgbookkey';
}
elseif($v=='feedback')//反馈
{
$name='checkfeedbackkey';
}
elseif($v=='getpassword')//取回密码
{
$name='checkgetpasskey';
}
elseif($v=='regsend')//重发激活邮件
{
$name='checkregsendkey';
}
else//评论pl
{
$name='checkplkey';
}
return $name;
}
```
第二步:ecmsSetShowKey函数将cookie保存到cookie中,看这函数好像是做了不少 其实是把验证码md5了一下就保存到cookie里面了 关键点:$key=$time.','.$checkpass.','.$val;
$val就是验证码的md5
```
/设置验证码
function ecmsSetShowKey($varname,$val,$ecms=0){
global $public_r;
$val=md5($val);
$time=time();
$checkpass=md5(md5($val.'EmpireCMS'.$time).$public_r['keyrnd']);
$key=$time.','.$checkpass.','.$val;
esetcookie($varname,$key,0,$ecms);
}
//设置COOKIE
function esetcookie($var,$val,$life=0,$ecms=0){
global $ecms_config;
$varpre=empty($ecms)?$ecms_config['cks']['ckvarpre']:$ecms_config['cks']['ckadminvarpre'];
return setcookie($varpre.$var,$val,$life,$ecms_config['cks']['ckpath'],$ecms_config['cks']['ckdomain']);
}
```
第三步:查看cookie,mlukmcheckregkey=1409913237%2C26b915271f0eccf2eef645af070e7e63%2C8f136277f7544773106f4c06dcdb4bf4;
最后面%2C后面8f136277f7544773106f4c06dcdb4bf4就是验证码的md5 这四位数的验证码在cmd5那是一查一个准啊
[<img src="https://images.seebug.org/upload/201409/05183953a8b9916f4dcff15cd82049f5ba30a1ed.gif" alt="QQ截图20140905183708.gif" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/05183953a8b9916f4dcff15cd82049f5ba30a1ed.gif)
[<img src="https://images.seebug.org/upload/201409/05184003d090444b134ea5894f9a097e9641ed54.gif" alt="QQ截图20140905183929.gif" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/05184003d090444b134ea5894f9a097e9641ed54.gif)
### 漏洞证明:
[<img src="https://images.seebug.org/upload/201409/05183953a8b9916f4dcff15cd82049f5ba30a1ed.gif" alt="QQ截图20140905183708.gif" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/05183953a8b9916f4dcff15cd82049f5ba30a1ed.gif)
[<img src="https://images.seebug.org/upload/201409/05184003d090444b134ea5894f9a097e9641ed54.gif" alt="QQ截图20140905183929.gif" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/05184003d090444b134ea5894f9a097e9641ed54.gif)
暂无评论