### 简要描述: 不用给分了,都不好意思要了(确实不是故意的,刚发现) 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); } } ``` ### 漏洞证明:...
### 简要描述: 不用给分了,都不好意思要了(确实不是故意的,刚发现) 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复制到利用程序中一并提交)