Webshell不能执行命令常见原因

简介: Webshell不能执行命令常见原因

0x01 前言

大家有没有遇到过Webshell无法执行系统命令或可执行文件的情况?我想肯定是有的,出现无法执行命令的原因也有很多,如常见的:

    PHP安全模式(disable_functions);
    cmd.exe被降权或删除;
    命令执行组件被卸载;
    组策略禁止执行cmd.exe;
    安全狗、云锁、360等安全防护软件;
    ...SNIP...


    0x02 执行命令组件、函数、类和方法

    Asp:

      Wscript.shell、Shell.Application

      Aspx:

        ProcessStartInfo、Wscript.shell,Shell.Application

        Php:

          system、passthru、shell_exec、exec、popen、proc_open

          Jsp:

            Runtime.getRuntime().exec(command)


            0x03 注册与卸载执行命令的高危组件

            可以通过执行以下命令或删除对应注册表项来注册和卸载WScript.Shell、Shell.Application命令组件。


            WScript.Shell组件:

              regsvr32 /u %windir%\system32\wshom.ocx
              HKEY_CLASSES_ROOT\WScript.Shell
              HKEY_CLASSES_ROOT\WScript.Shell.1

              Shell.Application组件:

                regsvr32 /u %windir%\system32\shell32.dll
                HKEY_CLASSES_ROOT\Shell.Application
                HKEY_CLASSES_ROOT\Shell.Application.1


                0x04 Webshell常见命令执行报错小结

                0x05 Windows各版本操作系统cmd路径

                大部分管理员只会给默认System32、SysWOW64目录下的cmd.exe文件做降权处理,这时我们就可以尝试使用以下对应操作系统版本的cmd.exe来执行系统命令,如下图。


                Win2k8:

                  C:\Windows\winsxs\amd64_microsoft-windows-commandprompt_31bf3856ad364e35_6.1.7601.17514_none_e932cc2c30fc13b0\cmd.exe
                  C:\Windows\winsxs\wow64_microsoft-windows-commandprompt_31bf3856ad364e35_6.1.7601.17514_none_f387767e655cd5ab\cmd.exe

                  Win2k12:

                    C:\Windows\WinSxS\amd64_microsoft-windows-commandprompt_31bf3856ad364e35_6.3.9600.16384_none_7bcb26c7ee538fe3\cmd.exe
                    C:\Windows\WinSxS\wow64_microsoft-windows-commandprompt_31bf3856ad364e35_6.3.9600.16384_none_861fd11a22b451de\cmd.exe

                    Win2k16:

                      C:\Windows\WinSxS\amd64_microsoft-windows-commandprompt_31bf3856ad364e35_10.0.14393.0_none_b8813238310f2dd6\cmd.exe
                      C:\Windows\WinSxS\wow64_microsoft-windows-commandprompt_31bf3856ad364e35_10.0.14393.0_none_c2d5dc8a656fefd1\cmd.exe


                      相关文章
                      |
                      10月前
                      |
                      安全 API 网络安全
                      绕过IIS命令执行防护提权
                      绕过IIS命令执行防护提权
                      107 0
                      |
                      2月前
                      |
                      PHP 开发工具 git
                      目录爆破工具 -- dirsearch
                      目录爆破工具 -- dirsearch
                      76 0
                      |
                      2月前
                      |
                      网络协议 Shell 网络安全
                      Cobaltstrike4.0系列 -- Beacon命令
                      Cobaltstrike4.0系列 -- Beacon命令
                      39 0
                      |
                      10月前
                      |
                      开发框架 Java .NET
                      webshell不能执行命令常见问题总结
                      webshell不能执行命令常见问题总结
                      148 0
                      |
                      编解码 开发框架 安全
                      命令执行写webshell总结
                      前言 当我们找到一个rce漏洞却无法反弹shell时,在web路径写webshell用连接工具进行管理会方便的多,本文总结从命令执行到webshell的流程化操作。
                      1095 0