PHP命令执行与防范

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

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

如: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语言来说,不能完全控制的危险函数最好不要使用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值