PDA

Просмотр полной версии : извращённый синтаксис пхп


chekist
30.01.2008, 21:28
на bugtraq.ru нашёл старую статью про обход фильтров

$a = 'file_get_contents';
echo ${'a'}('msg.txt');

как это вообще может работать?

NOmeR1
30.01.2008, 21:38
похоже на библиотеку jQuery (http://forum.antichat.ru/thread58010.html)

gibson
30.01.2008, 21:44
NOmeR1 да не совсем не то написано же старую статью :)
2 chekist ничего такого функция может так работать

chekist
30.01.2008, 22:08
2 gibson работают не все функции, к примеру eval не хочет работать
а штука очень удобная чтобы прятать код

ZaCo
30.01.2008, 23:38
еще давно zadoxlik описывал подобную особенность, к сожалению сам я в то время не нашел официального описания подобного вызова функции, но скажу вам более - наряду с использованием значения переменной по ее имени ${'name'} можно вызывать и функцию лишь по ее имени см. выше. это срабатывает и в парсирующих строках, например двойных кавычках или <<< : "{${xek('aaa')}}"

Meanor
31.01.2008, 00:41
http://php.benscom.com/manual/ru/language.types.string.php
тут можно найти много про фигурные скобки и тройные знаки "меньше/больше", и как их юзать...

Digimortal
31.01.2008, 01:22
хмм.. совсем немного кодил на пхп, но уже успел познакомится с этой особенностью языка.. ) в php-мане про это кстати написано:

http://ru2.php.net/manual/ru/functions.variable-functions.php

chekist

eval - не является функцией в пхп, потому и не работает..