美文网首页
命令执行漏洞的防御

命令执行漏洞的防御

作者: ApacheShiro | 来源:发表于2019-01-11 15:10 被阅读0次

    不执行外部的应用程序或命令

    尽量使用自定义函数或函数库实现外部应用程序或命令的功能。 在执行system、eval等命令执行功能的函数前,要先确定参数内容。

    使用escapeshellarg函数处理相关参数

    Escapeshellarg函数会将任何引起参数或命令结束的字符进行转义,如单引号"'"会被转义为"\’",双引号“””会被转义为"\"",分号";"会被转义为"\;",这样escapeshellarg会将参数内容限制在一对单引号或双引号里面,转义参数中所包含的单引号或双引号,使其无法对当前执行进行截断,实现防范命令注入攻击的目的。

    使用safe_mode_exec_dir执行可执行的文件路径

    将php.ini文件中的safe_mode设置为On,然后将允许执行的文件放入一个目录中,并使用safe_mode_exec_dir指定这个可执行的文件路径。这样,在需要执行相应的外部程序时,程序必须在safe_mode_exec_dir指定的目录中才会允许执行,否则执行将失败。

    PHP命令注入攻击漏洞是PHP应用程序常见漏洞之一。国内著名的PHP应用程序,如discuz!、dedecms等大型程序在网络中均被公布过存在命令注入攻击漏洞,黑客可以通过命令注入攻击漏洞快速获取网站权限,进而实施挂马、钓鱼等恶意攻击,造成的影响和危害十分巨大。同时,目前PHP语言应用于Web应用程序开发所占比例较大,Web应用程序员应该了解命令注入攻击漏洞的危害,修补程序中可能存在的被黑客利用的漏洞情况,保护网络用户的安全,免受挂马、钓鱼等恶意代码的攻击。

    相关文章

      网友评论

          本文标题:命令执行漏洞的防御

          本文链接:https://www.haomeiwen.com/subject/vjajlqtx.html