• RCE——远程命令/代码执行


    Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:ping空格IP地址,如图:
    在这里插入图片描述
    RCE英文全称:remote command/code execute
    分为远程命令执行ping和远程代码执行evel。
    漏洞出现的原因:没有在输入口做输入处理。
    我们常见的路由器、防火墙、入侵检测等设备的web管理界面上
    一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。其实这就是一个接口,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统,这就是RCE漏洞。具体后端代码如下:

    $result.=shell_exec('ping '.$ip);//直接将变量拼接进来,没做处理
    
    • 1

    具体案例(远程命令执行ping):
    下图说明开发者想让用户输入的只有IP地址:在这里插入图片描述
    但是如果没有做严格的处理,我们就可以拼接其他的语句上去,比如:
    net start 查看开启了哪些服务:

    在这里插入图片描述
    效果图在这里插入图片描述
    从上可以看出,相当于直接操控服务器电脑的cmd命令行!高危漏洞!


    具体案例(远程代码执行evel):
    后端代码:

    if(@!eval($_POST['txt']))
    
    • 1

    可以看出没有做处理,和上面(远程命令执行ping)不同的是,这里是PHP代码,而上面(远程命令执行ping)执行的是命令行。
    在这里插入图片描述
    执行后效果图
    在这里插入图片描述

  • 相关阅读:
    hdu 1077计算几何
    hdu 1110几何题
    hdu 4430二分枚举
    numpy常用技巧
    python中数组(list/array)不会复制,而是直接引用
    怎么在ASP.NET 2.0中使用Membership
    2分法通用存储过程分页(top max模式)版本(性能相对之前的not in版本极大提高)
    Oracle大数据量分页通用存储过程
    JavaScript 对象与数组参考大全
    ajax框架比较
  • 原文地址:https://www.cnblogs.com/bonelee/p/14257977.html
Copyright © 2020-2023  润新知