### 简要描述:
不用给分了,都不好意思要了(确实不是故意的,刚发现)
rt
第一次的漏洞利用程序有个bug 但是因为有这个bug 导致了成功利用了发现的第三处漏洞
第二次漏洞也是并没有用到第二次所提到的漏洞,其实是本次的
好吧,有些绕口
简单了说就是
若本漏洞修复了,可以利用漏洞2
漏洞2修复了可以利用漏洞1
漏洞1影响范围更大一些
-------------------------------
传送门
第一次http://wooyun.org/bugs/wooyun-2013-025053
第二次http://wooyun.org/bugs/wooyun-2013-025065
### 详细说明:
[<img src="https://images.seebug.org/upload/201306/0316004727270e98d6cca4b66c594e131e2548fc.jpg" alt="12.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201306/0316004727270e98d6cca4b66c594e131e2548fc.jpg)
```
elseif ($_REQUEST['act'] == 'signin')
{
if (!empty($_SESSION['captcha_word']) && (intval($_CFG['captcha']) & CAPTCHA_ADMIN))
{//$_SESSION['captcha_word'] 此session默认是不存在的,只在生成验证码的时候才会生成,所以呢……
include_once(ROOT_PATH . 'includes/cls_captcha.php');
/* 检查验证码是否正确 */
$validator = new captcha();
if (!empty($_POST['captcha']) && !$validator->check_word($_POST['captcha']))
{
sys_msg($_LANG['captcha_error'], 1);
}
}
```
### 漏洞证明:
可以使用第一个http://wooyun.org/bugs/wooyun-2013-025053的验证程序
因为利用程序没有使用cookie,按理说应该是会利用失败
但是正因为如此,导致每次都是是新的请求(以至于$_SESSION['captcha_word']永远都不会生成,当然即使启用了cookie,也得获取一下有效的验证码才可以)
所以成功利用此漏洞
-----
假如不存在此漏洞(比如修改为判断$_SESSION['captcha_word'] 不存在直接退出)
修改一下第一个漏洞利用程序(启用cookie,并使用此cookie访问一下验证码生成页面,来生成$_SESSION['captcha_word'])
-----
若第二个漏洞修复
修改一下第一个漏洞利用程序
启用cookie,并使用此cookie访问一下验证码生成页面,来生成$_SESSION['captcha_word']
则通过上面那个步骤(查看正确的有效的验证码,有些复杂,但可以实现,比如通过浏览器访问,然后把cookie复制到利用程序中一并提交)
暂无评论