php eval提高安全性,PHP的一个EVAL的利用防范 | CN-SEC 中文网

摘要

作者:phpeval 前段时间一个程序出的问题。就和这差不多 <?php $code="${${eval($_GET[c])}}"; ?>

作者:phpeval

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

对于上面的代码。如果在URL提交http://www.phpeval.cn/test.php?c=phpinfo(); 就可以发现phpinfo()被执行了。而相应的提交c=echo 11111; 发现1111也被输出了。这个代码被执行了。

(好些PHP的代码在写文件的时候。都没有注意到这一点。他们在代码中写php的文件的时候。把代码加在双引号之内。然后过滤掉双引号。认为这样就不能执行了。实际上是可以的。)

还有一些利用方式,比如:

提交 http://www.site.cn/test.php?c=${${phpinfo()}}; phpinfo()就被执行。如果提交

http://www.site.cn/test.php?c=${${eval($_GET[d])}};&d=phpinfo();

这样的话,d后面的代码也被执行。

解决方法:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值