查看: 12819|回复: 0

命令注入漏洞medium级别

[复制链接]
  • TA的每日心情
    开心
    2020-12-22 10:07
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2019-10-16 22:53:56 | 显示全部楼层 |阅读模式
    本帖最后由 bailancheng 于 2019-10-16 22:53 编辑

    命令注入漏洞medium级别

     medium级别的防御:
    $substitutions = array('&&' => '' , ';' => '', ); 
    定义一个数组并赋值给变量$substitutions,数组中包括2个键:&&和;,它们对应的值都是NULL。
    333.JPG

    $target = str_replace( array_keys( $substitutions ), $substitutions, $target );
    用str_replace函数对$target变量中的字符进行替换,替换的方法是将array_keys( $substitutions )替换成$substitutions,也就是将&&和;都替换成空值。
     通过定义黑名单,对敏感字符进行过滤。 
    黑名单不完整,漏洞仍然存在。

    high级别命令注入漏洞:
    $octet = explode(".", $target);
    通过explode函数以“.”为分隔符将$target变量中的IP地址进行分割,分割后会得到一个数组,并赋值给变量$octet。

    if ((is_numeric($octet[0])) && (is_numeric($octet[1])) && (is_numeric($octet[2])) && (is_numeric($octet[3])) && (sizeof($octet) == 4)  )
    用is_numeric函数依次判断$octet数组中的每个值是否是数字型数据,并且还使用sizeof函数判断$octet数组中元素的个数是否是4个。
    444.JPG
    常见防范措施:

    对传入的命令进行严格过滤;

    在后台对应用的权限进行控制(比如可以给 PHP 建立单独的账号,控制 PHP 的启动权限)。
    漏洞防御:
    EscapeShellCmd()函数
    把字符串中所有可能瞒过Shell而去执行另外一个命令的字符转义,如管道符(|)、分号(;)、重定向(>)、从文件读入(<)等
    555.JPG

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-4-26 00:12 , Processed in 0.046698 second(s), 13 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部