Linux/SwagShop

Enumeration

nmap

仍然一样,先使用nmap探索目标开放端口情况

看到开启了22端口和80端口,还是一样的,先从80端口开始探索,从nmap给出的结果,我们可以看到有一个域名,因此在/etc/hosts中添加域名到IP的映射,之后在访问网站

TCP/80

进入到网站中,发现一个购物网站,和靶场的名字一样,是一个shop,很醒目的橙色的logo加粗的字体,查查是什么东西

在该页面最底部发现软件版本信息,2014年的,确实很老了,也经过查询得知magento是一个电商平台,类似于cms的一种框架

继续搜索各种信息时,找到了一个针对magento的扫描器,可能类似于wpscan对于wordpress这种,先看看有没有什么结果

Exploitation

magescan

按照给定使用方法php magescan.phar scan:all swagshop.htb运行程序,等待结果

得到了magento的版本信息,目标使用的版本很有可能是1.9.0.0和1.9.0.1

在unreachable path check中也有很多路径,尝试访问这些路径

/app/etc/local.xml 找到了mysql的用户名和密码,但是之前扫描没发现3306端口对外开放,而且密码hash没破解成功,先放着再看看别的

/rss/prder/NEW/new 其中有一个链接

访问链接,发现了一个登录表单

Magento eCommerce - Remote Code Execution

暂时先放下,再看看其他的,已经得到magento的版本信息,尝试搜索是否存在已知漏洞,找到了一个这个,他并没有标明危害版本,但是2015年的exploit很可能可以在2014年的版本中运行,漏洞编号为cve-2015-1397

在nvd中搜索发现1.9.1.0也是受到影响的

查阅exploit-db中的介绍,发现如果漏洞可以被利用,将会建立一个用户,用户名和密码都是forme

If magento version is vulnerable, this script will create admin account with username forme and password forme

复制python脚本,并且删除其余没有用的代码,在target中填入目标的ip,执行时却显示失败

在代码中添加代理,用burp拦截请求看看服务器是如何响应的

修改代码,再次执行脚本,服务器响应中显示下图中url不存在

查看刚才的登录界面,发现在/admin之前还有一个/index.php,修改exploit代码中对应部分,然后再次运行脚本,发现成功执行了

尝试使用forme:forme登录系统,现在进入了管理页面

Magento CE < 1.9.0.1 - (Authenticated) Remote Code Execution

刚才在搜索magento的漏洞时还发现了一个认证rce的exp

接下来尝试利用该脚本,先打开看看,发现需要在config中写入用户名和密码,发现还需要install_date,根据提示去/app/etc/local.xml中获取

执行程序报错,提示如下,需要设置url为magento的登录界面,否则程序不知道该去哪填写用户名,也就不能登录

设置好url后有提示超过一个用户名,尝试把代码中的username那两行屏蔽一行,我注释掉了br.form.new_control('text', 'login[username]', {'value': username}) # Had to manually add username control.,再次运行程序,报了一个新错(使用python3运行程序会报错数据类型不相符,因此使用了python2)

设置代理,用burpsuite追踪过程,发现其实是因为mechanize没能使用用户名和密码成功登录系统,经过很多尝试,最终发现将usage设置成域名形式可以成功执行程序,并且返回对应的请求信息,对比的结果如下图所示,具体因为什么我并不是很清楚,反正设置成域名后可以成功登录系统,代码也能继续往后执行

再次尝试写入反弹shell脚本,在kali中监听,拿到shell就可以查看user.txt了

Privilege Escalation

发现www-data可以不需要密码以root身份执行vi打开/var/www/html/*,所以打开vi编辑器,并输入!/bin/sh提权

或者直接输入以下指令

sudo vi /var/www/html/vegetable -c '!/bin/sh' /dev/null

查看flag即可

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

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

相关文章

Linux的权限(2)

目录 Linux的&#xff08;事物属性&#xff09;文件权限 文件权限值得表示方法 字符表示方法 8进制表示方法 文件访问权限得相关设置方法 chmod修改权限法1 chmod修改权限法2 文件的角色&#xff08;拥有者/所属者&#xff09;修改 chown拥有者 chgrp所属者 &…

业务向——基于淘宝联盟平台的CPS

业务向——基于淘宝联盟平台的CPS 导读小试牛刀签名商品活动订单获取及用户 导读 上篇文章我们分享了多多进宝平台&#xff0c;那么这篇文章想继续带来CPS业务的分享&#xff0c;这次玩转的平台是淘宝联盟。在对接的过程中&#xff0c;也是踩了一些坑&#xff0c;特别是对于订…

车规MCU开发之E2E协议

啥是E2E&#xff1f; E2E的原理&#xff1a; 1. 发送端&#xff1a;发送数据包添加E2E保护头 2. 接收端&#xff1a;接收数据包校验E2E保护头 E2E例子 - profile 11为例 E2E_P11ConfigType wk_stP11Cfg { .CounterOffset 8, .CRCOffset 0, .DataID …

Jenkins安装和配置

拉取Jenkins镜像 docker pull jenkins/jenkins 编写jenkins_docker.yml version: "3.1" services:jenkins:image: jenkins/jenkinscontainer_name: jenkinsports:- 8080:8080- 50000:50000volumes:- ./data/:/var/jenkins_home/首次启动会因为数据卷data目录没有权限…

Ubuntu20.04 ROS-noetic安装与使用(原创)

ROS命令 注&#xff1a;内容还在不断更新中&#xff0c;研究方向是无人机群体追踪&#xff0c;无人机零件已经购买&#xff0c;本周末会自己配真实无人机&#xff0c;之后会不断更新相关算法笔记。如果有相关研究同学&#xff0c;可以私聊我&#xff0c;一起讨论。&#xff11;…

vue中正确使用swiper

首先安装swiper cnpm install swiper5.4.5 -S cnpm install vue-awesome-swiper3.1.3 -S 二、在main.js中引入swiper.css import swiper/css/swiper.css 三、在组件中使用 1、引入必要的组件 import { swiper, swiperSlide } from "vue-awesome-swiper"; 2、注…

30天精通Nodejs--第十七天:express-路由配置

目录 引言基础路由配置路由参数与查询参数路由前缀与子路由路由重定向结语 引言 上篇文章我们简单介绍了express的基础用法&#xff0c;包括express的安装、创建路由及项目启动&#xff0c;对express有了一个基础的了解&#xff0c;这篇开始我们将详细介绍express的一些高级用…

IDEA—初始化配置

注&#xff1a;以下红框圈的部分&#xff0c;均为已设置好的 外观与行为 编辑器 高级设置 按两次 shift 弹出提示问题解决

【WPF.NET开发】WPF中的拖放

本文内容 WPF 中的拖放支持数据传输拖放事件实现拖放拖放示例 本主题概述 Windows Presentation Foundation (WPF) 应用程序中的拖放支持。 拖放通常指一种数据传输方法&#xff1a;使用鼠标&#xff08;或一些其他指针设备&#xff09;选择一个或多个对象&#xff0c;将其拖…

神经网络|张量tensor(待完善)

文章目录 tensor/张量什么是tensor&#xff1f;如何用代码实现tensortensor在神经网络中的应用 其他 tensor/张量 什么是tensor&#xff1f; 张量是用来探究一个点在各个切面&#xff08;一共三个切面&#xff09;和各个方向&#xff08;x&#xff0c;y&#xff0c;z三个方向&…

蚁群算法(ACO)解决旅行商(TSP)问题的python实现

TSP问题 旅行商问题&#xff08;Travelling Salesman Problem, 简记TSP&#xff0c;亦称货郎担问题)&#xff1a;设有n个城市和距离矩阵D [dij]&#xff0c;其中dij表示城市i到城市j的距离&#xff0c;i, j 1, 2 … n&#xff0c;则问题是要找出遍访每个城市恰好一次的一条回…

【kafka】记录用-----------1

主题&#xff08;topic&#xff09;&#xff1a;消息的第一次分类 根据人为的划分条件将消息分成不同的主题 主题的划分是人为的根据不同的任务情景去划分 比如&#xff0c;我们有两个主题&#xff0c;一个是"订单"&#xff0c;另一个是"库存"。每个主题代…

Java集成消息队列Kafka

1.Kafka maven坐标 在使用Maven构建Java项目时&#xff0c;你可以通过添加Kafka的Maven依赖来引入Kafka相关的库。下面是Kafka的Maven坐标&#xff1a; <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId&g…

SpringCloud + Redis 实现Api接口限流 防止恶意刷接口

一、API接口防刷 顾名思义&#xff0c;想让某个接口某个人在某段时间内只能请求N次。 二、原理 在请求的时候&#xff0c;服务器通过Redis记录你请求的次数&#xff0c;如果次数超过限制就不给访问。 在redis保存的key是有失效的&#xff0c;过期就会删除。 三、api限流的场…

GPT-4:智能语言模型的新篇章

随着人工智能技术的飞速发展&#xff0c;智能语言模型已经成为了我们日常生活和工作中不可或缺的一部分。GPT-4&#xff0c;作为最新一代的语言模型&#xff0c;不仅继承了前代技术的优势&#xff0c;还在理解深度、生成连贯性和创造性方面实现了质的飞跃。本文将探讨GPT-4的创…

强化学习应用(二):基于Q-learning的无人机物流路径规划研究(提供Python代码)

一、Q-learning简介 Q-learning是一种强化学习算法&#xff0c;用于解决基于马尔可夫决策过程&#xff08;MDP&#xff09;的问题。它通过学习一个价值函数来指导智能体在环境中做出决策&#xff0c;以最大化累积奖励。 Q-learning算法的核心思想是通过不断更新一个称为Q值的…

【JAVA】谈谈 ReadWriteLock 和 StampedLock

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 ReadWriteLock&#xff08;读写锁&#xff09; 基本原理&#xff1a; 接口和实现&#xff1a; 用法示例&#xff1a; StampedL…

电梯导轨市场分析:我国市场销量增长率约为2.4%

电梯导轨(The elevator guide rail)是由钢轨和连接板构成的电梯构件&#xff0c;分为轿厢导轨和对重导轨。从截面形状分为T形&#xff0c;L形和空心三种形式。导轨在起导向作用的同时&#xff0c;承受轿厢&#xff0c;电梯制动时的冲击力&#xff0c;安全钳紧急制动时的冲击力等…

javacv和opencv对图文视频编辑-用多张图片合成MP4视频

狠人话不多&#xff0c;直接上代码 package com.bitar.javavideo.test;import org.bytedeco.ffmpeg.global.avcodec; import org.bytedeco.ffmpeg.global.avutil; import org.bytedeco.javacv.FFmpegFrameRecorder; import org.bytedeco.javacv.Java2DFrameConverter;import j…