我爱编程网小编给大家带来了eval函数使用方法(Payload: php eval('phpinfo();');?>可否为php代码执行?)相关文章,一起来看一下吧。
本文目录一览:

eval函数使用方法
Eval函数的重要功能是实现对表达式的计算,能够处理表达式的长度在256个字符之内的运算式的计算。下面就来探讨一下Eval函数的具体使用方法。
Eval函数在JavaScript脚步语言中的使用:新建一网页文件“a.html”,在文件中输入如图所示代码并保存,打开该网页文件使脚本运行,则输入结果如图。
Eval函数在ExcelVBA编程中的使用:进入ExcelVBA编程环境,新建一模块,在模块中输入如图所示内容,点击运行,结果如图所示。
Eval函数在VBScript脚本语言中的使用: 在VB脚本语言中,Eval函数具有两层意思,一是实现计算表达的值,即eval()函数可将字符串转换为代码执行,并返回一个或多个值;二是运行指定的代码。实例如图所示。
Eval函数在PHP代码中的使用:eval() 函数把字符串按照 PHP 代码来计算。该字符串必须是合法的 PHP 代码,且必须以分号结尾。如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。实例如图所示。

Payload: php eval('phpinfo();');?>可否为php代码执行?
代码执行漏洞是指应用程序本身过滤不严,攻击者可以通过请求将代码注入到应用中,最终在web服务器上去执行。
危险函数执行PHP代码的有:
eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(), create_function(), array_map()等。
1.eval()和assert()函数本身就可动态执行代码,其参数就是PHP代码
payload: <? eval('phpinfo();');?>
2.preg_replace()函数的第一个参数存在e修饰符时,第二个参数和第三个参数可能当作PHP代码被执行
preg_replace漏洞触发有两个前提:
第一个参数需要e标识符,有了它可以执行第二个参数的命令
第一个参数需要在第三个参数中的中有匹配,不然echo会返回第三个参数而不执行命令
//echo preg_replace(‘/test/e’, ‘phpinfo()’, ‘just test’);这样是可以执行命令的
//echo preg_replace(‘/test/e’, ‘phpinfo()’, ‘just tesxt’); 或者echo preg_replace(‘/tesxt/e’, ‘phpinfo()’, ‘just test’); 这两种没有匹配上,所以返回值是第三个参数,不会执行命令
payload:
<?php preg_replace('/
(.∗)
(.∗)
/e','\\1','$_GET['a']);?>
请求1.php?a=[phpinfo()]
3.call_user_func()和array_map()等函数的作用就是调用其他函数,并将第二个参数作为回调函数的参数
payload:
<?php $b='phpinfo()'; call_user_func($_GET['a'],$b);?>
请求1.php?a=assert, 则调用了assert函数
求PHP中eval()函数的使用方法
我爱编程网(https://www.52biancheng.com)小编还为大家带来求PHP中eval()函数的使用方法的相关内容。
eval()
函数把字符串按照
PHP
代码来计算。
该字符串必须是合法的
PHP
代码,且必须以分号结尾。
如果没有在代码字符串中调用
return
语句,则返回
NULL。如果代码中存在解析错误,则
eval()
函数返回
false。
例子:
<?php
$string
=
"beautiful";
$time
=
"winter";
$str
=
'This
is
a
$string
$time
morning!';
echo
$str.
"<br
/>";
eval("\$str
=
\"$str\";");
echo
$str;
?>
输出:
This
is
a
$string
$time
morning!
This
is
a
beautiful
winter
morning!
我爱编程网以上就是我爱编程网小编给大家带来的eval函数使用方法(Payload: php eval('phpinfo();');?>可否为php代码执行?),希望能对大家有所帮助。更多相关文章关注我爱编程网:
www.52biancheng.com免责声明:文章内容来自网络,如有侵权请及时联系删除。