RCE命令执行
一、RCE介绍远程命令执行或远程代码执行渗透中能够执行命令或代码、拿到shell啥的都属于 RCE规定的范围比较广常见场景包括命令执行、代码执行、文件上传和文件包含、反序列化、写文件 Getshell二、命令执行Web 应用调用系统命令函数对用户输入内容过滤不严恶意命令被拼接执行产生原因代码过滤不严第三方组件存在漏洞系统本身存在漏洞PHP 常见执行函数system() 直接输出exec() 返回最后一行内容shell_exec() 返回全部结果passthru() 输出原始内容(这是反引号)可执行命令和shell_exec()一个意思popen() proc_open() 执行命令并返回文件指针命令连接符 前后命令都执行 前一条成功后执行后一条| 只显示后一条结果|| 前一条失败后执行后一条常用系统命令Linux系统专用的whoamiidpwdlscat过滤了可换uname -aWindows专用的whoamiipconfigdirnet usercalc这是计算器漏洞危害获取服务器权限。读取文件。写入木马。反弹 Shell。进行内网渗透防御方法禁用高危系统函数。严格过滤用户输入。上传目录设置不可执行。权限使用白名单校验三、代码执行原理将用户输入的字符串当作脚本代码执行常见函数PHPeval ()、assert ()JSeval ()PythonexecJava反射、OGNL、SpEL执行方式eval (phpinfo (););assert (phpinfo ());${phpinfo ()};危害直接执行任意 PHP/Python/Java 代码GetShell。防御禁止用户可控参数进入 eval/assert过滤特殊字符升级框架、补丁最小权限运行四、命令执行与代码执行区别命令执行执行系统命令 ipconfig whoami ls cat代码执行执行脚本代码 phpinfo eval assert五、CTF 与实训常用 payload命令执行?ip127.0.0.1whoami?ip127.0.0.1|ipconfig?cmdsystem (cat flag.php)代码执行?cmdphpinfo ()?cmdeval ($_POST [123])绕过过滤cat或者tac /flagnl /flag加行号grep . /flaghead /flag