vulnhub靶场之momentum-2

news2024/12/23 14:38:12

前言

靶机采用virtual box虚拟机,桥接网卡

攻击采用VMware虚拟机,桥接网卡

靶机:momentum-2 192.168.1.40

攻击:kali 192.168.1.16

主机发现

使用arp-scan -l扫描

在这里插入图片描述

信息收集

使用namp扫描

这里的命令对目标进行vulner中的漏洞数据库进行对比,有的话,会给出漏洞编号及链接,和危害等级

nmap -sV 192.168.1.40 -O --script=vulners --script-args mincvss=5.0

不过这里只进行简单的扫描即可

在这里插入图片描述

网站探测

访问网站

在这里插入图片描述

momentum-1差不多,都是图片,不过这里页面源代码中并没有调用js函数等,不过图片放在/img目录,至少确定是目录型网站。

尝试指纹识别

在这里插入图片描述

网站目录扫描

使用dirsearch、gobuster、ffuf、dirb、dirbuster都可以

在这里插入图片描述

看到几个目录,尝试访问查看,首先访问js,可以看到是一个文件上传的js函数,并且调用ajax.php文件,采用post

在这里插入图片描述

访问ajax.php文件,全是后端php语言

在这里插入图片描述

访问css,是网站的样式,无其他内容

访问dashboard.html页面,有文件上传页面,并且查看页面源代码后,发现与之前js中的获取file的id对应上了,并且点击提交,调用了js的函数。并且上传后的文件也给出提示,在owls

在这里插入图片描述

OK,到这里网站的信息基本上了解了,下面就是进行总结一下,首先在80端口网站中,有js目录,其中有一个函数,该函数与dashboard.html联合在一起,并且涉及到ajax.php文件以及POST提交方式。

文件上传—>JS函数---->ajax.php

漏洞寻找

上传php中的反弹shell脚本文件进行测试,直接上传发现不行

在这里插入图片描述

这里建议了解一下XMLHttpRequest,参考链接https://blog.csdn.net/abraham_ly/article/details/113526496

function uploadFile() {
    var files = document.getElementById("file").files;
    if(files.length > 0 ){
       var formData = new FormData();
       formData.append("file", files[0]);
       var xhttp = new XMLHttpRequest();
       // Set POST method and ajax file path
       xhttp.open("POST", "ajax.php", true);
       // call on request changes state
       xhttp.onreadystatechange = function() {
          if (this.readyState == 4 && this.status == 200) {
 
            var response = this.responseText;
            if(response == 1){
               alert("Upload successfully.");
            }else{
               alert("File not uploaded.");
            }
          }
       };
       // Send request with data
       xhttp.send(formData);
    }else{
       alert("Please select a file");
    }
 }

根据上面上传后的提示,以及代码来看,主要是在response==1这个条件出错

测试上传图片,还是出错
在这里插入图片描述

使用burp抓包分析,对请求修改也没有效果,返回都是0,无法进入上传成功,怀疑可能是网站目录没有扫全,再检测一遍,这次多加后缀名测试,结果还真出来一些东西,不能太依赖dirsearch的默认扫描,毕竟有的后缀名还是挺重要的。

使用gobustrt扫描,-x表示扩展名,-d表示对备份进行检测,也就是自己加上常见的扩展备份名,-b过滤包含状态码400-404的结果

在这里插入图片描述

这里对于dirsearch不太清楚了,加上备份文件的格式,也无法扫描出来

在这里插入图片描述

或者使用ffuf也是能够扫描出来的

漏洞利用

这里知道有备份,下载备份文件审计代码

在这里插入图片描述

直接测试,先直接上传txt文件看看,是否有该逻辑性.上传成功,说明正确

在这里插入图片描述

上传php反弹sehll的脚本。使用burp抓包进行修改,然后注意,在代码审计时,有一个注释说,在cookie的末尾添加一个大写字母,所以,这就需要构造好准备的数据,然后进行爆破

在这里插入图片描述

把该数据包发送到intruder模块,先在末尾加入一个A,用于知道爆破位置

在这里插入图片描述

构造payload然后攻击测试

在这里插入图片描述

在这里插入图片描述

得出Cookie的最后一位为R

反弹shell

此时在kali中开启监听,这里我在php脚本设置的是1234端口

在这里插入图片描述

在浏览器访问

在这里插入图片描述

点击脚本文件后,kali获取反弹shell

在这里插入图片描述

登录成功,查看/home目录,获取到一个密码,不知道是否可用

在这里插入图片描述

ssh登录

测试该内容myvulnerableapp[Asterisk]是否是ssh的密码,测试发现并不是,寻找其他可用

找了一圈,没有可用,就网上查了一下,说[Asterisk]*,我真服了,这在英语词典中确实有*的含义

所以上面文本应该是myvulnerableapp*,再次登录测试,登录成功

在这里插入图片描述

因为之前不知道密码的时候,我把其他方法都看了一下,这里直接find寻找具有SUID的文件

在这里插入图片描述

提权

然后使用sudo -l列出

在这里插入图片描述

首先查看该py文件,发现无写权限,查看导入的包有哪些

在这里插入图片描述

导入三个包,查看这三个包的权限

在这里插入图片描述

看了都无写权限,我就再看看代码。

首先用户输入seed,然后生成cookie,然后就是执行写入内容到log.txt,传参是输入的seed,然后子进程打开这个cmd。运行py脚本,然后输入可执行命令

在这里插入图片描述

这里通过nc执行/bin/bash然后给kali,但是这里不行,没有提权成功

查看发现,其他人也有执行的权限,所以不能直接变为root

在这里插入图片描述

但是吧,突然想到,我是用sudo获取该文件的,怎么就没有使用sudo执行呢。

啧啧啧啧啧啧啧啧啧啧啧

重新使用sudo执行

在这里插入图片描述

提权成功

在这里插入图片描述

清除痕迹

在这里插入图片描述

总结

  1. 代码审计,知道满足哪些条件才能执行
  2. 对于网站目录,可以多测几遍,不要错过关键信息
  3. 多了解点英语单词吧
  4. python代码要有一定基础
  5. nc命令的一些参数了解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2253741.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hadoop生态圈框架部署(八)- Hadoop高可用(HA)集群部署

文章目录 前言一、部署规划二、Hadoop HA集群部署(手动部署)1. 下载hadoop2. 上传安装包2. 解压hadoop安装包3. 配置hadoop配置文件3.1 虚拟机hadoop1修改hadoop配置文件3.1.1 修改 hadoop-env.sh 配置文件3.3.2 修改 core-site.xml 配置文件3.3.3 修改 …

Flink问题总结

目录 1、Flink 的四大特征(基石) 2、Flink 中都有哪些 Source,哪些 Sink,哪些算子(方法) 3、什么是侧道输出流,有什么用途 4、Flink 中两个流如何合并为一个流 5、Flink 中两个流如何 join 6、Flink 中都有哪些 window,什么是滑动,滚动窗口 7、flink 中都有哪些…

数据结构 (26)图的遍历

前言 数据结构中的图遍历是指从图中的任一顶点出发,按照某种方法访问图中的所有顶点,且每个顶点只访问一次。 一、遍历方法 遍历主要有两种方法:深度优先搜索(DFS)和广度优先搜索(BFS)。 1.深度…

【后端面试总结】golang channel深入理解

在Go语言中,Channel是一种用于在goroutine之间进行通信和同步的重要机制。它提供了一种安全、类型安全的方式来传递数据,使得并发编程变得更加直观和简单。本文将详细介绍Golang中Channel的基本概念、创建与关闭、发送与接收操作,以及相关的使…

RabbitMQ消息可靠性保证机制6--可靠性分析

在使用消息中间件的过程中,难免会出现消息错误或者消息丢失等异常情况。这个时候就需要有一个良好的机制来跟踪记录消息的过程(轨迹溯源),帮助我们排查问题。 在RabbitMQ中可以使用Firehose实现消息的跟踪,Firehose可…

RAG评估指南:从检索到生成,全面解析LLM性能评估方法

前言 这一节我们将从时间线出发对RAG的评估方式进行对比,这些评估方式不仅限于RAG流程之中,其中基于LLM的评估方式更加适用于各行各业。 RAG常用评估方式 上一节我们讲了如何用ROUGE 这个方法评估摘要的相似度,由于篇幅限制,没…

高危端口汇总(Summary of High-Risk Ports)

高危端口汇总 能关闭就关闭 💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解…

电子病历静态数据脱敏路径探索

一、引言 数据脱敏(Data Masking),屏蔽敏感数据,对某些敏感信息(比如patient_name、ip_no、ad、no、icd11、drug等等 )通过脱敏规则进行数据的变形,实现隐私数据的可靠保护。电子病历作为医疗领…

黑马微服务开发与实战学习笔记_导论

系列博客目录 文章目录 系列博客目录为什么学微服务?定义 为什么学微服务? 从下图搜索指数可以看出,微服务热度不减 公司中很多微服务的应用。 公司岗位要求中很多微服务的身影。 定义 微服务是一种软件架构风格,它是以专注于…

Python从入门到入狱

Python是从入门到入狱?这个充满调侃意味的说法在程序员圈子里流传甚广。表面看,它似乎是在嘲笑这门语言从简单易学到深陷麻烦的巨大反差,实际上却隐藏着很多值得深思的问题。要解读这个话题,得从Python的特点、使用场景以及潜在风…

网安瞭望台第9期:0day 情报,OAuth 2.0授权流程学习

国内外要闻 Veeam 修补服务提供商控制台关键 RCE 漏洞 Veeam 发布了安全更新以解决影响服务提供商控制台(VSPC)的一个关键漏洞,该漏洞可能为在易受攻击的实例上执行远程代码创造条件。此漏洞被追踪为 CVE-2024-42448,其 CVSS 评分…

Qt复习学习

https://www.bilibili.com/video/BV1Jp4y167R9/?spm_id_from333.999.0.0&vd_sourceb3723521e243814388688d813c9d475f https://subingwen.cn/qt/qt-primer/#1-4-Qt%E6%A1%88%E4%BE%8B https://subingwen.cn/qt/ https://download.qt.io/archive/qt/1.1Qt的特点 1.2QT中的…

视频监控集中管理方案设计:Liveweb视频汇聚方案技术特点与应用

随着科技的发展,视频监控平台在各个领域的应用越来越广泛。然而,当前的视频监控平台仍存在一些问题,如视频质量不高、监控范围有限、智能化程度不够等。这些问题不仅影响了监控效果,也制约了视频监控平台的发展。 为了解决这些问…

【算法】图论——树的重心

目录 题目解析 算法原理 图的存储 算法实现 题目解析 题目解析 给定一颗树,树中包含n个结点(编号)和n-1条无向边。请找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 什么是重心? 重…

STM32 进阶 定时器 2基本定时器 基本定时器中断案例:LED闪烁

基本定时器 基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。 这2个定时器是互相独立的,不共享任何资源。 这个2个基本定时器只能向上计数,由于没有外部IO,所以只能计时,不能对外部…

51单片机(STC89C52RC版本)学习笔记(更新中...)

文章目录 参考资料1. 准备工作1.1 win10配置51单片机开发环境1.1 Ubuntu配置51单片机开发环境问题1:mcs51/8051.h依赖于mcs51/lint.h问题2:提示找不到头文件mcs51/8051.h 2. 认识51单片机2.1 STC89C52单片机2.2 管脚图2.3 原理图2.4 按键抖动2.5 头文件说…

USB 声卡全解析:提升音频体验的得力助手

在当今数字化的时代,音频领域的追求愈发多元。无论是热衷聆听高品质音乐的爱好者,还是在专业音频工作中精雕细琢的人士,亦或是在游戏世界里渴望极致音效沉浸的玩家,都始终在寻觅能让音频体验更上一层楼的妙法。而 USB 声卡&#x…

计算机的错误计算(一百七十四)

摘要 探讨 MATLAB 关于计算机的错误计算(一百七十三)中多项式的秦九韶(或Horner)形式的计算误差。 在计算机的错误计算(一百七十三)中,我们讨论了一个多项式的计算误差。本节探讨其对应秦九韶&…

Magento2如何创建CRUD Models

Mageno2 Model的创建不同于其他框架&#xff0c;需要3个不同目录层级的文件 例如需要为表hello_test创建model&#xff1a; 1、app/code/Hello/Test/Model/Test.php <?phpnamespace Hello\Test\Model;class Test extends \Magento\Framework\Model\AbstractModel {protec…

Visual Studio 2022 项目配置常用选项

作为一名C++开发者,经常需要配置第三方库,今天来跟大家截图一下,方便大家快速配置: 头文件包含目录: 或者: 库文件包含目录: