- RCE
- RCE:远程命令执行或者代码执行,因为RCE这个词的滥用,RCE的范围比较广,只要渗透的最终情况可以实现执行命令或者是代码都属于RCE,例如代码执行、文件包含、反序列化、命令执行,甚至是写文件Getshell都可以属于RCE
- RCE可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统
- 应用有时需要调用一些执行系统命令的函数,比如php中的system、exec、shell_exec、passthru、popen等,当用户调用这些函数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击,这就是命令执行漏洞。
- 命令执行产生原因:Web应用的脚本代码在执行命令的时候过滤不严从而注入一段攻击者能够控制的代码在服务器上执行恶意指令命令执行漏洞是PHP应用程序中最常见的漏洞之一。
- 了解常见的命令执行函数
- PHP:exec、shell_exec、system、passthru、popen、proc_open等
- ASP.NET:System.Diagnostics.Start.Process、System.Diagnostics.Start.ProcessStartInfo等
- Java:java.lang.runtime.Runtime.getRuntime、java.lang.runtime.Runtime.exec等
- system 该函数会把执行结果输出,并把输出结果的作为字符串返回。如果 PHP 运行在服务器模块中,system() 函数还会尝试在每行输出完毕之后,自动刷新 web 服务器的输出缓存。如果执行失败则返回false
- exec 返回值:命令执行结果的最后一行内容,
- passthru 执行外部程序并显示原始输出
- shell_exec 通过 shell 执行命令并将完整的输出以字符串的方式返回
- 反引号backquaote shell_exec() 函数实际上仅是反撇号 (`) 操作符的变体
- 命令执行利用条件
- 应用调用执行系统命令的函数
- 将用户输入作为系统命令的参数拼接到了命令行中
- 没有对用户输入进行过滤或过滤不严
- 命令执行危害
- 继承web服务器的权限去执行系统命令
- 反弹shell
- 控制整个网站甚至服务器
- 进一步内网渗透
- 命令执行——使用的特殊字符
网安漏洞-命令执行
最新推荐文章于 2024-10-08 13:36:13 发布