首页 > Web开发 > 详细

PHP命令执行与防范

时间:2018-11-04 14:45:05      阅读:170      评论:0      收藏:0      [点我收藏+]

命令执行漏洞是指攻击者可以随意执行系统命令,是高危漏洞之一。

命令连接符:&  &&   ||     |

如:ping www.baidu.com && net user

PHP命令执行

(1)命令执行

PHP提供了一些函数用来执行外部应用程序,如:system(),shell_exec(),exec()和passthru。

(2)代码执行

eval()函数是一个危险函数,函数内的字符串被当做PHP代码来执行,也就是说,这个函数可以动态的执行PHP代码,如一句话木马:<?php eval($_POST[‘x‘]);?>

(3)动态函数调用

举代码例子:<?php $a=$_GET[‘a‘];   $b=$_GET[‘b‘];    $a($b);?>

如果用户传参:a=system&b=net user,最终执行的函数是:system("net user"),这只是一个简单的例子,说明其危害还是很大的。

(4)PHP函数代码执行漏洞

想preg_replace(),ob_start,array_map()等函数都是存在代码执行漏洞的,我所学略浅,想要深入了解,可上网查资料或者参考《高级PHP应用程序漏洞审核技术》。

防范命令执行漏洞

尽量不要使用系统执行命令。

在执行命令函数、方法前,变量一定要做好过滤,对敏感字符进行转义。

使用动态函数之前,确保使用的函数是指定的函数之一。

对PHP语言来说,不能完全控制的危险函数最好不要使用。

PHP命令执行与防范

原文:https://www.cnblogs.com/whitehawk/p/9903869.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!