请选择
进入手机版
|
继续访问电脑版
用户登录
免费注册
设为首页
加入收藏
中国红客联盟 - 08安全团队组建
本版
用户
全站首页
社区首页
红盟自媒体
关于本站
反诈中心
家园
Space
排行榜
Ranklist
倡导绿色健康网络
关于我们
致—红盟会员
发展历程
核心人员
技术问答
Web文章
Web漏洞
图书馆
在线视频
反诈中心
Windows
Linux/MAC
无线安全
移动终端
资源分享
逆向破解
杀毒软件
浏览器
病毒样本
最新资讯
八卦水库
本站公告
职位申请
投诉举报
中国红客联盟 - 08安全团队组建
»
社区首页
›
技术攻防
›
技术文章
›
命令注入漏洞medium级别
返回列表
查看:
7194
|
回复:
0
命令注入漏洞medium级别
[复制链接]
bailancheng
bailancheng
当前离线
积分
165
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。
$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个。
常见防范措施:
对传入的命令进行严格过滤;
在后台对应用的权限进行控制(比如可以给 PHP 建立单独的账号,控制 PHP 的启动权限)。
漏洞防御:
EscapeShellCmd()函数
把字符串中所有可能瞒过Shell而去执行另外一个命令的字符转义,如管道符(|)、分号(;)、重定向(>)、从文件读入(<)等
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表