当前位置: 首页 > news >正文

Web入侵实战分析-常见web攻击类应急处置实验2

场景说明

某天运维人员,发现运维的公司站点被黑页,首页标题被篡改,你获得的信息如下:

操作系统:windows server 2008 R2业务:公司官网网站架构:通过phpstudy运行apache +mysql+php开放端口:仅对外网开饭80端口站点路径:C:\phpStudy\PHPTutorial\WWW

排查过程

找到篡改网页,发现最新的篡改时间为

2020-5-13-18:34:16,并且在网站根目录,讲源码拖到本地,通过D盾扫描

我这里使用的网络共享来发送的,用啥都可以,只要传到有D盾的windows机上即可

扫描出来了两个可疑文件,我们去看内容和属性

info.php的创建时间是2019年,而shell.php的创建时间是2020年,我们可以推断出,info.php是一个php自带的探针,而shell.php通过创建时间和内容可以看出是一个木马

shell.php的写入时间是2020-05-13-18:32:36,内容来看是一个冰蝎马

我们可以通过shell.php来看日志文件,看access.log日志

我们来搜索shell.php同时间段的日志,看是不是这个时间被攻击的

从结果来看,确实有一个shell.php,但是所在的目录是在/shell.php,并不是在html/shell.php,而且前面还有shell.php说明shell.php并不是在2020-05-13-18:32:36这个时间创建的,而是在此之前就先上传了shell.php到/shell.php下,然后又通过手段放到html/shell.php中的

同时我们可以确定攻击者的ip地址是10.11.33.208

10.11.33.208

根据ip地址,来网上找攻击者的入侵方式和网站漏洞

从这个2020-05-13-18:30:23这个时间开始,我们发现往下很多的HEAD请求,并且都是404,而且每一秒都有很多很多请求,判断为攻击者在进行目录扫描

由上图可以直到扫描结束时间是2020-5-13-18:30:49,然后访问了三次info.php,之后就是shell.php了,看起来info.php应该是存在问题,可能有漏洞,我们去看info.php,在网站中

通过如上信息,我们可以去找哪个地方存在漏洞,首先审核phpstudy的版本是否存在漏洞,版本是2017,其次审核服务器引擎apache的版本是否存在漏洞,php是否存在漏洞,数据是否存在漏洞,大概就是看着一些东西,然后我们去百度发现phpstudy某个版本是有漏洞的

看起来不影响我们这个版本,我们试一下,我们这个版本也有被搞了木马,我们继续试

使用bp抓包,然后修改

Accept-Encoding:gzip,deflate
Accept-charset:cGhwaW5mbygpOw==

这里不知道为啥,使用bp抓包复现不出来,然后使用phpshellcmd测试工具来复现出来了

从这里可以确定是phpstudy后门入侵

继续查看日志,我们发现在18:32:36通过第一次上传的shell.php写入了/html/shell.php文件

我们继续看日志,找出来使用的哪个木马进行修改的index..php文件

首页文件的修改时间为18:34:16日志上的这个时间使用的是/shell.php所以使用的就是一句话木马修改的首页文件

后续继续排查了系统启动项,系统日志,发现无其他异常信息

结论

根据目前信息,可以得到如下结论
攻击者ip地址:10.11.33.208
1.2020-5-13-18:30:23对站点进行了扫描,发现了info.php存在,然后访问了info.php发现使用的是PHP/5.4.45,
3.2020-5-13-18:31:14通过phpstudy后门漏洞来进行命令执行,然后写入了shell.php的木马,在根目录
4.2020-5-13-18:30:36利用shell.php在html下写入了冰蝎马
5.2020-5-13-18:34:16利用该webshell,篡改了站点首页

相关文章:

Web入侵实战分析-常见web攻击类应急处置实验2

场景说明 某天运维人员,发现运维的公司站点被黑页,首页标题被篡改,你获得的信息如下: 操作系统:windows server 2008 R2业务:公司官网网站架构:通过phpstudy运行apache mysqlphp开放端口&…...

DeepSeek:AI商业化的新引擎与未来蓝图

摘要 在人工智能迅猛发展的浪潮中,DeepSeek以其卓越的技术实力和高超的商业化能力崭露头角。作为一款现象级AI产品,它不仅在算法性能上位居行业前列,还通过灵活的定制解决方案渗透到金融、医疗、零售等多个领域。DeepSeek以创新的商业模式和场…...

从零开始学习PX4源码9(部署px4源码到gitee)

目录 文章目录 目录摘要1.gitee上创建仓库1.1 gitee上创建仓库PX4代码仓库1.2 gitee上创建子仓库2.固件在gitee部署过程2.1下载固件到本地2.2切换本地分支2.3修改.gitmodules内容2.4同步子模块仓库地址2.5同步子模块仓库地址更新(下载)子模块3.一级子模块和二级子模块的映射关…...

wps中zotero插件消失,解决每次都需要重新开问题

参考 查看zotero目录 D:\zotero\integration\word-for-windows 加载项点击 dotm即可 长期解决 把dom 复制到 C:\Users\89735\AppData\Roaming\kingsoft\office6\templates\wps\zh_CN还是每次都需要重新开的话 重新加载一下...

【Python 语法】collections 模块的字典类 defaultdict

默认字典 (defaultdict) 的语法defaultdict 的常见应用场景1. 计数2. 分组3. 嵌套字典 defaultdict 是 Python 中 collections 模块提供的一个字典类,它和普通字典( dict)的主要区别在于 提供了一个默认值,可以避免在访问字典中…...

《论系统需求分析方法》写作心得 - 系统分析师

系统需求分析方法论述 一、项目概述及本人职责 本人曾参与一项企业级客户关系管理系统(CRM)的开发项目,担任系统分析师的角色。该项目旨在为企业提供一个集客户信息管理、销售过程跟踪、客户服务支持于一体的综合管理平台,以提升…...

Jupyter里面的manim编程学习

1.Jupyterlab的使用 因为我之前一直都是使用的vscode进行manim编程的,但是今天看的这个教程使用的是Jupyter,我也很是好奇这个manim在Jupyter这样的交互式下面会生成怎么样的效果,所以今天尝试了jupyter,并且对于两个进行比较和说…...

Python之装饰器二 带参数的装饰器

前言一、带参数的装饰器二、在装饰器里面传入参数总结 前言 暂无 一、带参数的装饰器 我们知道,不带参数的装饰其实就是在函数的头上添加装饰器时放一个名称,这种写法就默认了装饰器函数调的是被装饰函数自己,换句话说就是,大家…...

rk3588/3576板端编译程序无法运行视频推理

图片推理可以,但是视频不行,运行视频推理报错:segment fault. 我遇到的问题原因是ffmpeg安装有问题,可以先在板端运行:ffmpeg -version ffmpeg version 4.2.4-1ubuntu1.0firefly6 Copyright (c) 2000-2020 the FFmpe…...

静态库与动态库区别

生成方式 静态库:生成静态库时,源代码编译后生成目标文件(.o或.obj),然后将这些目标文件打包成一个静态库文件(如:.lib或.a)。 动态库:生成动态库时,源代码编…...

鸿蒙-Canvas-图片滑动验证

文章目录 过程绘制形状方式详细解释定义变量布局整图Canvas需要滑动的形状 需要处理图片的方式处理抠图绘制抠出来的图 总结 群里有朋友问图片滑块验证码怎么做,就是一张图上扣出来一块,然后拖动这一小块完成拼图。 第一个想法就是偷懒一下:直…...

Python应用算法之贪心算法理解和实践

一、什么是贪心算法? 贪心算法(Greedy Algorithm)是一种简单而高效的算法设计思想,其核心思想是:在每一步选择中,都采取当前状态下最优的选择(即“局部最优解”),希望通…...

网络运维学习笔记 017HCIA-Datacom综合实验01

文章目录 综合实验1实验需求总部特性 分支8分支9 配置一、 基本配置(IP二层VLAN链路聚合)ACC_SWSW-S1SW-S2SW-Ser1SW-CoreSW8SW9DHCPISPGW 二、 单臂路由GW 三、 vlanifSW8SW9 四、 OSPFSW8SW9GW 五、 DHCPDHCPGW 六、 NAT缺省路由GW 七、 HTTPGW 综合实…...

C++(17):为optional类型构造对象

C++(17):optional,多了一个合理的选择_c++17 max-CSDN博客 介绍了optional做为函数返回值的一种方式 其实optional也可以作为对象来使用 #include &...

Maven导入hutool依赖报错-java: 无法访问cn.hutool.core.io.IORuntimeException 解决办法

欢迎大家来到我的博客~欢迎大家对我的博客提出指导&#xff0c;有错误的地方会改进的哦~点击这里了解更多内容 目录 一、报错二、解决办法 一、报错 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-captcha</artifactId> </de…...

Simulink库浏览器中有大量的模型组件工具箱介绍

Simulink库浏览器中有大量的模型组件工具箱&#xff0c;包括Simulink工具箱、Autosar工具箱、电机控制工具箱等&#xff0c;其中Simulink工具箱包含了几十个的子模块&#xff0c;这里介绍下这些子模块的功能&#xff0c;帮助读者全面的了解这些功能模块&#xff0c;在今后的模型…...

从0到1:固件分析

固件分析 0x01 固件提取 1、从厂商官网下载 例如D-link的固件&#xff1a; https://support.dlink.com/resource/products/ 2、代理或镜像设备更新时的流量 发起中间人攻击MITM #启用IP转发功能 echo 1 > /proc/sys/net/ipv4/ip_forward#配置iptables&#xff0c;将目…...

模电知识点总结(6)

1.选取频率高于1000Hz的信号时&#xff0c;可选用高通滤波器&#xff1b;抑制50Hz的交流干扰时&#xff0c;可选用带阻滤波器如果希望抑制500Hz以下的信号&#xff0c;可选用高通滤波器。 2.有用信号频率高于1000Hz&#xff0c;可选用高通滤波器&#xff1b;希望抑制50Hz的交流…...

【Java学习】多态

目录 一、方法相同 二、方法重写 1.概念 2.条件 三、向上转型 1.概念 2.方式 四、方法绑定 五、多态 一、方法相同 方法相同要求方法名相同、参数列表相同、返回值类型相同(与两方法修饰的访问限定符相不相同、静态非静态状态相不相同无关)&#xff0c;而且在子类与父…...

Oracle 深入理解Lock和Latch ,解析访问数据块全流程

Oracle 锁机制介绍 根据保护对象的不同&#xff0c;单实例Oracle数据库锁可以分为以下几大类&#xff1a; DML lock&#xff08;data locks&#xff0c;数据锁&#xff09;&#xff1a;用于保护数据的完整性&#xff1b; DDL lock&#xff08;dictionary locks&#xff0c;字典…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...