Как эта каптча работает:
1) Сформировали ссылку
Captcha::instance()->render();
2) По ссылке браузер забрал изображение, а на сервере в сессию занеслась строка изображенная на картинке каптчи(например "7777");
3) Мы отправили пост запрос с введенной каптчей и проверили ее на сервере
Captcha::valid($_POST['captcha']);
Логично предположить, что после проверки нужно уничтожить информацию о каптче в сессии. Но здесь видим иную картину "7777" так и висит в сессии, а сессия обновляется в момент генерации изображения.
Чем это грозит:
1) Один раз увидев каптчу, можем использовать cURL чтобы бомбить сайт;
2) Более банальный вариант(и более бесполезный так как выполнять придется все действия), как известно браузер за нас делает многие вещи, в том числе и подгружает картинки, если ссылки на них есть в верстке страницы. Можно это использовать - попадаем на страницу формы с каптчей выписываем каптчу, отключаем картинки и используя одно значение каптчи отправляем формы с положительным результатом.
В первом и втором вариантах Captcha::valid($_POST['captcha']) будет возвращать все время TRUE.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api