命令执行漏洞
-
目录
-
PHP常见命令执行函数
-
命令执行漏洞
一. PHP常见命令执行函数
1. system()函数
(1)函数介绍:system-执行外部程序,并显示输出
(2)主要使用方式:system(string $command)
函数代码:
2. exec()函数
(1)函数介绍:exec-执行一个外部程序;但不回显
(2)主要使用方式:echo exec(string $command)
输出最后一条命令
3. shell_exec()函数
(1)函数介绍:shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。
(2)主要使用方式:shell_exec(command)
4. passthru()函数
(1)函数介绍:passthru — 执行外部程序并且显示原始输出
(2)主要使用方式:passthru(command)
二. 命令执行漏洞
1. 命令执行漏洞
(1)原因:开发人员没有对特殊函数入口做过滤,导致用户可以提交恶意代码并提交服务端执行。
(2)产生条件:用户可以控制输入,存在可执行的危险代码
2. 命令执行漏洞的常用过滤绕过
(1)空格过滤
绕过方法:< 、<> 、 ${IFS}、$IFS、%09(tab)
(2)一些命令分隔符过滤
linux:%0a、%0b、;、&、|、&&、||
windows:%0a、&、|、%1a
(3)花括号的别样用法
{OS_COMMAND,ARGUMENT}
(4)黑名单绕过
1)破解绕过
2)编码绕过
3)单引号和双引号绕过
ca''t flag
4)反斜杠绕过
ca\t fl\ag
5)特殊变量绕过
$@
6)模糊匹配
sort
(5)长度限制
构建文件的方式进行绕过
(6)内联执行
echo "abcd $(pwd)"
学习总结:(32条消息) 关于命令执行/注入 以及常见的一些绕过过滤的方法_小白渣的博客-CSDN博客_命令执行过滤空格