Задачка на сообразительность.

WP

^_^
Задачка на сообразительность.

Вот родилась идея такой задачки, можно при приеме на работу давать =) Ламеры будут неровно курить.

Есть файл secret.php:
PHP:
$realpassword = 'passw0rd'; // реальный пароль
$password = isset($_GET['password'])?$_GET['password']:'';
if ($realpassword === $password) {/* секрет */}
else {echo 'Password incorrect!';}
unset($realpassword,$password); // удаляем из памяти и ничего ни х** :D
exit(0);
По условию задачи он закодирован Zend'ом, а декодировать, смотреть дебаггером, и использовать любые другие специальные средства запрещено.
Задача: получить пароль.

Через некоторое время напишу решение :)

Спасибо за внимание.
 

camka

не самка
Ставишь на каждый тик дамп глобальных переменных и анализируешь.
Вот если бы
PHP:
if ($realpassword === 'passw0rd') {/* секрет */}
,
тогда уже сложнее.
 

Andreika

"PHP for nubies" reader
http://webfile.ru/965590

изменил пароль, добавил echo вместо /* секрет */, заzendил.. сначала пароль оттуда, потом решение плиз

(вредоносный код не добавлял, но если страшно - есть куча бесплатных хостингов или гостевые аккаунты в win/клиниксах )
 

neko

tеam neko
я лично нихрена не понял :)

-~{}~ 27.05.06 06:31:

способов много, непонятно что считается "спецсредством"

-~{}~ 27.05.06 06:38:

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

zerkms

TDD infected
Команда форума
можно при приеме на работу давать =) Ламеры будут неровно курить
и какие знания будут проверены в результате выполнения или невыполнения задания??
очередное глупое задание при приёме, лучше бы показал кривой код с предложением его отрефакторить
 

Andreika

"PHP for nubies" reader
neko
ну.. допустим http://www.fatal.ru/ http://www.fatal.ru/phpinfo.php - Zend Optimizer у них есть... тока работает ли сей хостинг не знаю.. )

zerkms
знания на фичу из его ответа, которую автор узнал вчера вечером и под которую он придумал очень интересный тест... если будет дано другое решение - автор добавит в свою задачу условий так, чтобы его решение было единственно правильным.. если его решение не будет работать в каком то случае - автор добавит условие, чтобы этот случай исключить )
 

neko

tеam neko
короче чето нешлет мне этот фатал письмо.
видимо несудьба продемонстрировать свою "сообразительность"!!!

-~{}~ 27.05.06 08:04:

о пришло!

-~{}~ 27.05.06 08:50:

однако, это неприятно.

Fatal error: Cannot run code from this file in conjunction with non encoded files

-~{}~ 27.05.06 09:22:

Andreika
это тебя касается :)
 

WP

^_^
crack.php:
PHP:
function shutdown() {global $hook; var_dump($hook);}
register_shutdown_function('shutdown');
$hook = &$realpassword;
include 'secret.php';
Дело в том что можно делать ссылки на несуществующие переменные. unset удаляет только название переменной, а значение удаляется при удалении последней ссылки. Тест на знание устройства PHP =)
 

WP

^_^
Andreika
Скажи логин/пасс какого-нибудь аккаунта (на том же фатале), а то у меня Zend не стоит, и я об него руки пачкать не хочу.
 

Andreika

"PHP for nubies" reader
WP
а смысл? я сомневаюсь, что резуьтат будет отличаться от написанного neko

Fatal error: Cannot run code from this file in conjunction with non encoded files
 

WP

^_^
Andreika
Нет ни encoder'а, ни модуля, ни желания :) Но работать должно.
 

WP

^_^
Andreika
Как же нет? Есть. Просто zend'а нет.

-~{}~ 27.05.06 12:32:

p.s. по условию задачи - кодирование условное. т.е. не обязательно в zend, это просто чтобы показать невозможность чтения файла напрямую.
 

Andreika

"PHP for nubies" reader
а в чем ценность задачи тогда? :)
код полностью известен и открыт, есть переменная с паролем и название переменной известно заранее, использование unset вместо $var=null; .. exit(0);

это притягивание за уши задачи к первоначально имеющемуся решению
 
Сверху