• 网络安全笔记 -- RCE代码及命令执行漏洞


    1. 背景

    在Web应用中有时候程序员为了考虑灵活性、简洁性,会在代码调用代码或命令执行执行函数去处理。如当应用在调用一些能将字符串转化成代码的函数时,没有考虑用户是否能控制这个字符串,将造成代码执行漏洞。同样调用系统命令处理,将命令执行漏洞。

    2. RCE

    2.1 RCE漏洞

    RCE分为:代码执行、命令执行

    • 代码执行【危害:执行脚本代码】
      • 脚本:PHP、Java、Python
      • 产生:Web源码、中间件平台等
      • 检测
        • 白盒:代码审计
        • 黑盒:漏洞扫描、公开漏洞、手工看参数值及功能点
      • 防御:敏感函数禁用、变量过滤或固定、WAF产品
    • 命令执行【危害:执行系统命令】
      • 系统:linux、windows
      • 产生
      • 检测:白盒、黑盒
      • 防御:敏感函数禁用、变量过滤或固定、WAF产品

    漏洞形成条件: 可控变量、漏洞函数

    绕过
    linux下绕过空格技巧:

    ${IFS}
    $IFS$9
    <
    <>
    {,}
    
    • 1
    • 2
    • 3
    • 4
    • 5

    $IFS在linux下表示分隔符,如果不加{}则bash会将IFS解释为一个变量名, 加一个{}就固定了变量名,$IFS$9后面之所以加个$是为了起到截断的作用 ;为什么要用$9呢,因为$9只是当前系统shell进程的第九个参数的持有者,它始终为空字符串。 不仅\ $9可以使用,其他的数字也都可以正确绕过。

    2.2 案例(公开漏洞)

    平台:墨者学院

    在这里插入图片描述

    1. 启动靶场环境
      在这里插入图片描述
    2. 查找Webmin公开漏洞
      在这里插入图片描述
    3. 使用BurpSuite抓包,并修改参数:

    在这里插入图片描述

    1. 根据题目要求,key存放在根目录下,查找根目录:

    在这里插入图片描述

    1. key.txt为答案,使用cat命令查看该文件:
      在这里插入图片描述
  • 相关阅读:
    Redis常用操作
    酷开科技,让酷开系统成为现代生活的变革者
    SpringBoot2基础篇(三)—— 整合第三方技术
    C专家编程 第11章 你懂得C,所以C++不再话下 11.7 如何调用成员函数
    TCP / UDP 概念 + 实验(计网自顶向下)
    Java设计模式-状态模式
    团建游戏大全
    前端面试题:1.回流与重绘
    【无标题】
    mac下修改vscode的代码提示键
  • 原文地址:https://blog.csdn.net/swy66/article/details/126805760