• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    PHP的一个EVAL的利用防范

    发布者: 天下网吧 | 发布时间: 2025-6-27 16:00| 查看数: 108| 评论数: 0|帖子模式

    作者:phpeval
    前段时间一个程序出的问题。就和这差不多。

    复制代码代码如下:
    <?php
    $code="${${eval($_GET[c])}}";
    ?>

    对于上面的代码。如果在URL提交http://www.phpeval.cn/test.php?c=phpinfo(); 就可以发现phpinfo()被执行了。而相应的提交c=echo 11111; 发现1111也被输出了。这个代码被执行了。
    (好些PHP的代码在写文件的时候。都没有注意到这一点。他们在代码中写php的文件的时候。把代码加在双引号之内。然后过滤掉双引号。认为这样就不能执行了。实际上是可以的。)
    还有一些利用方式,比如:

    复制代码代码如下:
    <?php
    $code=addslashes($_GET[c]);
    eval(""$code"");
    ?>

    提交 http://www.site.cn/test.php?c=${${phpinfo()}}; phpinfo()就被执行。如果提交
    http://www.site.cn/test.php?c=${${eval($_GET[d])}};&d=phpinfo();
    这样的话,d后面的代码也被执行。

    解决方法:

    eval函数减弱了你的应用的安全性,因为它给被求值的文本赋予了太多的权力。强烈建议不要使用eval函数。

    来源:https://www.jb51.net/hack/122114.html
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表