PHP:system、exec、shell_exec、passthru、popen、proc_popen等称为高危漏洞。
原理:只要程序可以调用系统命令的情况下都可以发生命令执行漏洞。
开发人员没有对特殊函数入口做过滤,导致用户可以提交恶意代码并提交服务端执行。
Web服务器没有过滤危险函数导致命令执行漏洞攻击成功。
- 继承Web服务程序的权限去执行系统命令或读写文件。
- 反弹shell
- 控制整个网站甚至控制服务器。
- 进一步内网渗透
- system:成功则返回命令输出的最后一行,失败则返回FALSE。
- exec:命令执行结果的最后一行内容。
- shell_exec:命令执行的输出。如果执行过程中发生错误或者进程不产生输出,则返回NULL。
- passthru:执行外部程序并且显示原始输出。
- eval:将输入的字符串参数当做PHP程序代码来执行。
- assert
- preg_replace
- call_user_func
system(args) 有回显
passthru(args)(有回显)
exec(args) (回显最后一行-必须echo输出)
shell_exec(args) (无回显-必须输出)
反引号:``
popen(handle,mode)(无回显)
proc_open(‘cmd’,‘flag’,‘flag’)(无回显)
$process = proc_open(‘dir’,$des,$pipes);

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



