八进制传递的执行功能

时间:2019-01-08 06:55:47

标签: php

我有一个密码

<?php
eval('print '.$_GET['email'].";"); 
?>

当我这样做

http://localhost/1.php?email=phpinfo()

我执行了phpinfo()函数

但如果我这样做

http://localhost/1.php?email="\160\150\160\151\156\146\157\050\051"

我只得到字符串“ phpinfo()”

那么如何仅使用八进制执行phpinfo()函数呢?

2 个答案:

答案 0 :(得分:1)

尝试这个

  http://localhost/1.php?email=\160\150\160\151\156\146\157\050\051

<?php

  $url=urldecode($_GET['email']);
  $func_name=stripcslashes($url);
  eval('print '.$func_name.";"); 

?>

答案 1 :(得分:0)

我自己做完了

http://localhost/1.php?email=${"\160\150\160\151\156\146\157"()}

把戏