HackTheBox - Medium - Linux - Awkward

news2024/11/16 1:34:07

Awkward

Awkward 是一款中等难度的机器,它突出显示了不会导致 RCE 的代码注入漏洞,而是 SSRF、LFI 和任意文件写入/追加漏洞。此外,该框还涉及通过不良的密码做法(例如密码重用)以及以纯文本形式存储密码来绕过身份验证。


外部信息收集

端口扫描

循例nmap

file

Web枚举

file

Vhost枚举

ffuf

file

从主站的开发者工具中能找到router.js,里面有几个路由

file

/hr

file

http请求里有个token,常规把guest改admin,然后刷新页面

file

跳转到了dashboard

file

现在我们继续看services下的/api端点

file

通过staff-details,我们能够获得user和密码hash

file

hashcat爆出一个,是christopher.jones的

file

把token重置为guest,然后到/hr登录

file

SSRF

store-status参数是一个url,盲猜SSRF, 直接给一个url发现没成功

通过常规@符逃逸就成功了

file

前面的store子域是需要登录的,密码重用没成功

通过SSRF扫内网的http服务

生成数字字典

file

ffuf

file

file

3002披露了那几个api的后端源码

file

Foothold

值得注意的是all-leave,这里user虽然被黑名单严格检测,但依然有可乘之机, 这将通过jwt来让它妥协

file

这里的jwt是签名的,通过jhon爆破得到密钥

file

生成jwt poc

import jwt


key = "123beany123"
algorithm = "HS256"
payload = {"username": "/' /etc/passwd '"}

token = jwt.encode(payload, key, algorithm=algorithm)
print(token)

file

两个用户,读/home/bean/.bashrc

file

读backup_home.sh

#!/bin/bash
mkdir /home/bean/Documents/backup_tmp
cd /home/bean
tar --exclude='.npm' --exclude='.cache' --exclude='.vscode' -czvf /home/bean/Documents/backup_tmp/bean_backup.tar.gz .
date > /home/bean/Documents/backup_tmp/time.txt
cd /home/bean/Documents/backup_tmp
tar -czvf /home/bean/Documents/backup/bean_backup_final.tar.gz .
rm -r /home/bean/Documents/backup_tmp

从浏览器下.tar.gz,解压之后得到

file

在xpad中能看到bean的明文凭据

file

通过这个明文密码,我们可以登bean的ssh

file

本地权限提升

现在,我们能够通过admin:bean的凭据 登录store子域

file

同时,pspy也发现了root似乎在读leave_requests.csv后发送了一封邮件,我看到bean.hill时我想应该可以修改leave_requests.csv将username改为恶意命令来达到劫持这条命令的效果

2024/01/05 23:40:01 CMD: UID=0     PID=4834   | tail -1 /var/www/private/leave_requests.csv 
2024/01/05 23:40:01 CMD: UID=0     PID=4836   | /bin/bash /root/scripts/notify.sh 
2024/01/05 23:40:01 CMD: UID=0     PID=4841   | trivial-rewrite -n rewrite -t unix -u -c 
2024/01/05 23:40:01 CMD: UID=0     PID=4840   | mail -s Leave Request: bean.hill christine

然鹅/var/www/private/leave_requests.csv无权读写

在store查看时,我发现了一些txt,并且去读取了它们,这些似乎是一些http参数

file

grep

file

在cart_actions.php中,值得关注的是这些代码

//check for valid hat valley store item
function checkValidItem($filename) {
    if(file_exists($filename)) {
        $first_line = file($filename)[0];
        if(strpos($first_line, "***Hat Valley") !== FALSE) {
            return true;
...
//add to cart
if ($_SERVER['REQUEST_METHOD'] === 'POST' && $_POST['action'] === 'add_item' && $_POST['item'] && $_POST['user']) {
    $item_id = $_POST['item'];
    $user_id = $_POST['user'];
    $bad_chars = array(";","&","|",">","<","*","?","`","$","(",")","{","}","[","]","!","#"); //no hacking allowed!!

    foreach($bad_chars as $bad) {
        if(strpos($item_id, $bad) !== FALSE) {
            echo "Bad character detected!";
            exit;
        }
    }

    foreach($bad_chars as $bad) {
        if(strpos($user_id, $bad) !== FALSE) {
            echo "Bad character detected!";
            exit;
        }
    }

    if(checkValidItem("{$STORE_HOME}product-details/{$item_id}.txt")) {
        if(!file_exists("{$STORE_HOME}cart/{$user_id}")) {
            system("echo '***Hat Valley Cart***' > {$STORE_HOME}cart/{$user_id}");
        }
        system("head -2 {$STORE_HOME}product-details/{$item_id}.txt | tail -1 >> {$STORE_HOME}cart/{$user_id}");
        echo "Item added successfully!";
    }

虽然我们依然无法直接rce,但是product-details/和cart/两个目录我们都有777权限,private/ www-data组应该有权限

在product-details/下创建一个新的4.txt,在第二行写入恶意命令

file

去到cart/创建软连接

file

创建cmd.sh

file

请求cart_actions.php

file

不出意外它会到来,除非手慢了

file

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

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

相关文章

CEC2017(Python):七种算法(RFO、DBO、HHO、SSA、DE、GWO、OOA)求解CEC2017

一、7种算法简介 1、红狐优化算法RFO 2、蜣螂优化算法DBO 3、哈里斯鹰优化算法HHO 4、麻雀搜索算法SSA 5、差分进化算法DE 6、灰狼优化算法GWO 7、鱼鹰优化算法OOA 二、CEC2017简介 参考文献&#xff1a; [1]Awad, N. H., Ali, M. Z., Liang, J. J., Qu, B. Y., &…

聚观早报 |小米汽车SU7官图发布;优酷上线“AI搜片”功能

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 12月29日消息 小米汽车SU7官图发布 优酷上线“AI搜片”功能 小米汽车智能驾驶技术公布 百度投资AIGC公司必优科技…

安科瑞新能源汽车车充电桩有序充电——安科瑞 顾烊宇

要&#xff1a;随着当前经济的不断发展&#xff0c;国家的科技也有了飞速的进步&#xff0c;传统的燃油汽车已经不能适应当前社会的发展&#xff0c;不仅对能源造成巨大的消耗&#xff0c;还对环境造成了污染&#xff0c;当前一种新型的交通运输工具正在占领汽车市场。新能源汽…

OEE如何为制造企业实施ISO50001提供支持

ISO50001是一项旨在帮助企业建立和实施能源管理体系的国际标准&#xff0c;以提高能源效率、降低能源消耗和减少环境影响。而设备OEE&#xff08;设备综合效率&#xff09;作为一个关键的生产效率指标&#xff0c;可以为企业实施ISO50001提供重要的支持。本文将介绍ISO50001能源…

手机/平板实现电脑第三屏-记录极简

软件&#xff1a; 手机 平板 : moonlight 电脑&#xff1a; 1 KtzeAbyss/Easy-Virtual-Display 2 Parsec Virtual Display Driver https://builds.parsec.app/vdd/parsec-vdd-0.38.0.0.exe 3 LizardByte/Sunshine: Self-hosted game stream host for Moonlight. (gith…

java练习题之List(ArrayList)集合练习

List集合 习题&#xff1a; 1&#xff1a;完成以下填空&#xff1a; List 接口的特点是元素 有序 &#xff08;有|无&#xff09;顺序&#xff0c; 可重复 &#xff08;可以|不可以&#xff09;重复&#xff1b; 2&#xff1a;(List)关于List 集合描述正确的是&#xff08;…

2022年第十三届中国数据库技术大会(DTCC2022)-核心PPT资料下载

一、峰会简介 本届大会以“数据智能 价值创新”为主题&#xff0c;设置2大主会场&#xff0c;20技术专场&#xff0c;邀请超百位行业专家&#xff0c;重点围绕时序数据库、图数据技术、实时数仓技术与应用实践、云原生数据库、大数据平台与数据安全等内容展开分享和探讨&#…

git的拉取、提交、合并、解决冲突详细教程

我们在开发中使用git&#xff0c;经常会遇到拉代码&#xff0c;切换分支&#xff0c;提交代码&#xff0c;新建分支&#xff0c;合并代码&#xff0c;解决冲突这些操作&#xff0c;下面我跟大家分享一个好用的git工具来进行这些操作。 首先&#xff0c;我们下载一个git工具 点…

Python在金融大数据分析中的AI应用实战

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 随着人工智能时代的到来&#xff0c;Python作为…

数据结构学习 jz16 数值的整数次方

关键词&#xff1a;快速幂 位运算 之前已经学过快速幂了&#xff0c;所以只是回忆。快速幂有递归版和非递归版。 题目&#xff1a; 这道题和之前的快速幂的区别是 n可能为负数。分类讨论即可。 思路&#xff1a; 区分正负&#xff1a; if (n < 0) return POW(1.0 / x, …

git 回退版本

git 回退版本 1.查看记录 git log 2.如何回退 git reset --hard commit_id commit_id为上面加深的id 3.强制提交 git push origin HEAD --force

关于BraTS数据集中的Ground Truth标签的划分描述

引用自&#xff1a; Wang, Wenxuan, et al. "Transbts: Multimodal brain tumor segmentation using transformer." Medical Image Computing and Computer Assisted Intervention–MICCAI 2021: 24th International Conference, Strasbourg, France, September 27–…

第12课 利用openCV检测物体是否运动了

FFmpeg与openCV绝对是绝配。前面我们已经基本熟悉了FFmpeg的工作流程&#xff0c;这一章我们重点来看看openCV。 在前面&#xff0c;我们已经使用openCV打开过摄像头并在MFC中显示图像&#xff0c;但openCV能做的要远超你的想像&#xff0c;比如可以用它来实现人脸检测、车牌识…

web3d-three.js场景设计器-TransformControls模型控制器

场景设计器-TransformControls 控制器 该控制器可以指定模型进入可控制模式-如图有三种控制方式 translate --移动模式 rotate -- 旋转模式 scale -- 缩放模式 方便布局过程中快捷对模型进行摆放操作。 引入方式 import { TransformControls } from three/examples/jsm/…

设计模式(4)--类行为(10)--模板方法

1. 意图 定义一个操作中的算法的骨架&#xff0c;而将一些步骤延迟到子类中。 模板方法使子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 2. 两种角色 抽象类(Abstract Class)、具体类(Concrete Class) 3. 优点 3.1 一种代码复用的基本技术。提取公共行为&am…

C语言编译器(C语言编程软件)完全攻略(第十部分:VS2022下载和安装教程(图解版))

介绍常用C语言编译器的安装、配置和使用。 十、VS2022下载和安装教程&#xff08;图解版&#xff09; Visual Studio&#xff08;简称 VS&#xff09;是微软开发的一款 IDE&#xff0c;支持多种编程语言&#xff08;C/C、Python、C#、JavaScript 等&#xff09;&#xff0c;实…

项目中对日期进行格式化的方法

方式一&#xff1a;在属性上添加注解进行格式化 需要引入jackson包 <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.2</version> </dependency>在属性上…

Fiddler 到底能做什么?

Fiddler是检查 Http 流量的最流行的工具之一。此工具可帮助我们非常轻松地测试 REST API / SOAP Web 请求。 题主的问题&#xff1a;Fiddler 到底能做什么。仔细思考&#xff0c;其实有两层意思&#xff1a; 第一层&#xff1a;Fiddler工具的应用范围 第二层&#xff1a;Fiddle…

垂直领域大模型——文档图像大模型的思考与探索

〇、前言 12月1日&#xff0c;2023中国图象图形学学会青年科学家会议在广州召开。超1400名研究人员齐聚一堂&#xff0c;进行学术交流与研讨&#xff0c;共同探索促进图象图形领域“产学研”交流合作。 大会上&#xff0c;合合信息智能技术平台事业部副总经理、高级工程师丁凯博…

C++基础语法——数组、函数、指针和结构体

本专栏记录C学习过程包括C基础以及数据结构和算法&#xff0c;其中第一部分计划时间一个月&#xff0c;主要跟着黑马视频教程&#xff0c;学习路线如下&#xff0c;不定时更新&#xff0c;欢迎关注。 当前章节处于&#xff1a; >第1阶段-C基础入门 ---------第2阶段实战-通讯…