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即可

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ODBC 在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配

常规办法就是64位或32位匹配&#xff0c;如果解决不了&#xff0c;往下看。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓解决方案↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 解压AccessDatabaseEngine_X64.exe&#xf…

【C++】C++11中的常见语法(下)

C11 一、可变参数模板1. 递归函数方式展开参数包2. 逗号表达式展开参数包3. STL容器中的 empalce 相关接口函数 二、lambda 表达式1. C98 中的一个例子2. 使用 lambda 表达式3. lambda 表达式语法&#xff08;1&#xff09;lambda 表达式各部分说明&#xff08;2&#xff09;捕…

池化、线性、激活函数层

一、池化层 池化运算是深度学习中常用的一种操作&#xff0c;它可以对输入的特征图进行降采样&#xff0c;从而减少特征图的尺寸和参数数量。 池化运算的主要目的是通过“收集”和“总结”输入特征图的信息来提取出主要特征&#xff0c;并且减少对细节的敏感性。在池化运算中…

基于SSM的电脑测评系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的电脑测评系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring Spri…

Python教父推荐:《Python基础教程》(第3版) 中文PDF电子版限免

《Python基础教程 第3版》包括Python程序设计的方方面面&#xff1a;首先&#xff0c;从Python的安装开始&#xff0c;随后介绍了Python的基础知识和基本概念&#xff0c;包括列表、元组、字符串、字典以及各种语句&#xff1b;然后循序渐进地介绍了一些相对高-级的主题&#x…

旅游数据可视化大屏:一屏掌控,畅游数据之海

随着旅游业的蓬勃发展&#xff0c;如何有效地管理和分析旅游数据成为行业关注的焦点。旅游数据可视化大屏作为一种新兴的技术手段&#xff0c;为旅游业带来了前所未有的机遇和挑战。 旅游数据可视化大屏集成了丰富的数据资源&#xff0c;通过直观的图表、图像和交互界面&#x…

MySQL面试题 | 03.精选MySQL面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

基于面向对象编程,C++实现单链表

链表&#xff1a;在内存空间中是非连续存储 组成&#xff1a;链表是由一个个节点组成的&#xff0c;每个节点都包含两个元素&#xff1a;数据和指针 节点头文件&#xff1a; 建立一个ListNode.h头文件 #pragma once class ListNode { public:int value;ListNode* next;Lis…

web前端算法简介之队列

队列 队列基本操作 入队&#xff08;enqueue&#xff09;&#xff1a;将元素添加到队列的尾部。出队&#xff08;dequeue&#xff09;&#xff1a;从队列的头部移除元素。队首&#xff08;front&#xff09;&#xff1a;获取队列头部的元素&#xff0c;但不移除它。队尾&#x…

【机器学习300问】5、什么是强化学习?

我将从三个方面为大家简明阐述什么是强化学习&#xff0c;首先从强化学习的定义大家的了解强化学习的特点&#xff0c;其次学习强化学习里特殊的术语加深对强化学习的理解&#xff0c;最后通过和监督学习与无监督学习的比较&#xff0c;通过对比学习来了解强化学习。 一、强化…

canvasdrawer 微信原生小程序生成海报图片

在小程序中生成海报是一种非常有效的推广方式 用户可以使用小程序的过程中生成小程序海报并分享给他人 通过海报的形式&#xff0c;用户可以直观地了解产品或服务的特点和优势 常见绘制海报方式 目前&#xff0c;小程序海报有两种常见的实现方式&#xff1a; canvas 绘制…

Hive基础知识(十):Hive导入数据的五种方式

1. 向表中装载数据&#xff08;Load&#xff09; 1&#xff09;语法 hive> load data [local] inpath 数据的 path[overwrite] into table student [partition (partcol1val1,…)]; &#xff08;1&#xff09;load data:表示加载数据 &#xff08;2&#xff09;local:表示…

视频SDK的技术架构优势和价值

为了满足企业对于高质量视频的需求&#xff0c;美摄科技推出了一款强大的视频SDK&#xff08;软件开发工具包&#xff09;&#xff0c;旨在帮助企业轻松实现高效、稳定的视频功能&#xff0c;提升用户体验&#xff0c;增强企业竞争力。 一、美摄视频SDK的技术实现方式 美摄视…

【软件测试】学习笔记-静态测试方法

这篇文章详细讨论人工静态测试方法和自动静态测试方法&#xff0c;来帮你理解研发流程上是如何保证代码质量的&#xff0c;以及如何搭建自己的自动静态代码扫描方案&#xff0c;并且应用到项目的日常开发工作中去。 人工静态方法本质上属于流程上的实践&#xff0c;实际能够发…

详解Java多线程之循环栅栏技术CyclicBarrier

第1章&#xff1a;引言 大家好&#xff0c;我是小黑&#xff0c;工作中&#xff0c;咱们经常会遇到需要多个线程协同工作的情况。CyclicBarrier&#xff0c;直译过来就是“循环屏障”。它是Java中用于管理一组线程&#xff0c;并让它们在某个点上同步的工具。简单来说&#xf…

[AutoSar]BSW_OS 01 Autosar OS入门(一)

目录 关键词平台说明一、Autosar OS 的位置二、Autosar OS 与OSEK三、TASK 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商TI编程语言C&#xff0c;C编译器HighTec (GCC) 一、Autosar OS 的位置 如在[AutoSar]基础部分 a…

imgaug库指南(19):从入门到精通的【图像增强】之旅

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…

教程-右键用vscode(新窗口)打开文件或目录

通过本文可以提高效率&#xff0c;用起来更爽更高效。 本文实现了&#xff08;windows系统&#xff09;&#xff1a; 右键-用vscode(当前窗口)打开文件或目录右键-用vscode-新窗口打开文件或目录 注意&#xff1a; 下面的安装路径要更改为您实际的路径 具体配置步骤&#x…

案例117:基于微信小程序的新闻资讯系统设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder …

使用ArduinoMqttClient库连接阿里云,并实现发送接收数据(ESP8266)

文章目录 引言一、MQTT理论部分二、使用MQTT.fx接入物联网设备三、使用ESP8266连接阿里云四、参考例程 引言 阿里云物联网平台的接入方式有很多种&#xff0c;从阿里云提供的开发文档可以看到&#xff0c;支持的接入协议有MQTT、HTTPS、CoAP、JT/808、GB/32960协议等等&#x…