zoukankan      html  css  js  c++  java
  • 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语言来说,不能完全控制的危险函数最好不要使用。

  • 相关阅读:
    OSX中zsh新增环境变量
    新的开始 春光明媚
    tmux
    继承
    6
    Object类
    网页收藏
    画王八
    ES6 语法之import export
    ES6 语法 之 destructuring
  • 原文地址:https://www.cnblogs.com/whitehawk/p/9903869.html
Copyright © 2011-2022 走看看