CSB文件上传漏洞 -->Day4(图片挂马)

news2024/11/25 1:42:26

22二号,冬至啦,深圳这边只有5°(尊嘟好冷啊),写这篇文章的时候都已经是凌晨一点了,相信大部分的人都在温暖的被窝里面了吧!!(可怜的我,还得写writeup)

                

1.图片木马🐎🐎🐎

与传统的Torjian hourse不同,图片木马通常不用于直接获取用户的主机控制权限(因此我们也不用担心你的好兄弟给你发的图片里面有能获取你电脑的木马)

所以说了半天,什么是文件马呢?

  • 文件木马:图片木马是指通过特定的技术手段,在看似正常的图片文件中隐藏恶意代码或信息,用于绕过安全检测,进行恶意活动。
  • 说人话,就是:常常被黑客用于攻击网站、窃取用户信息或进行其他恶意行为的一种"特殊图片"

                                                ​​​​​​​        ​​​​​​​        

2.图片木马的制作

最简单的制作方法,就是通过cmd来进行:

  • 首先准备你一个.php的木马文件和一张正常的照片
  • 其中webshell.php如下

        ​​​​​​​         其中的GIF89A用于被后端代码检验

  • 然后在cmd输入这行命令
copy Whomai.png + webshell.php  webshell.png

这里解释一下,Whomai.png->可以是你自己的一张正常的照片,webshell.php->是你写的木马php ,webshell.png->是生成的挂🐎图片,而且,最好这两张图片在同一路径的cmd下操作(减少出错的可能)

这样你就获得了一张图片马了!!接下来就是使用了:
 

3.upload靶场14-16关

图片马,一般都是需要结合利用浏览器漏洞,来进行对图片马的解析的!!

  • 先是将刚才写好的图片马上传,再点击箭头所指之处

  • 可以看到这样一个跳转(现实生活中也是要找存在这样一个可以包含include文件的点)

先来解析一下这段代码,这个php代码,使得这个页面对URL中所查询的文件(存在此目录下)直接包含(解析,并且执行)

由于这个页和刚才的文件上传的网页同在一个/upload下,所以可以对图片马来进行利用!!

  • 进行这样一个查询 192.168.154.138/upload/upload/include.php?file=./upload/3320231222125319.jpg

结果发现是乱码(其实也都不算吧,因为看见了gif89A说明就是被执行了)

思考一下,为什么会这样呢     哦哦哦哦哦,我的一句话木马是连接马,不是显示PHP的版本,怪不得,哈哈哈哈 (如下图,看见也是能成功连接!!)

所以这三关就过了!!

首先是14关         我们用GIF89Al来绕过

接着是15关   其中的getimagesize可以用于获取图片的minetype,也就是判断你上传的是不是图片,(废话,我上传的都是图片马了,那肯定是图片啊!!

接着就是16关,其中的exif_imagetype返回值与getimage()函数返回的索引2相同,但是速度比getimage快得多,所以???那不就还是第二关吗???过!!!!

                声明:图片不易过大或者过小,否则你将会收获报错提醒:

4.二次渲染ByPass

先声明一下,最好这关用gif的文件,一开始用png的,看的眼睛都花了也找不出来

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​                ​​​​​​​        ​​​​​​​        

这里我提供一个gif吧,防止有人重蹈覆辙:

这一关呢就是一个二次渲染,什么是二次渲染呢(啊啊啊好烦啊,这只东西一直晃来晃去!

二次渲染:在我们上传文件后,网站会对图片进行二次处理(格式、尺寸,保存,删除 要求等),服务器会把里面的内容进行替换更新,处理完成后,根据我们原有的图片生成一个新的图片(标准化)并放到网站对应的标签进行显示。

所以我们上传的图片马的php代码会被替换掉,但是天无绝人之路有一些地方,他是不替换的

这时候,我们先上传一个图片马,再将生成的图片保存下来,放进二进制编辑器对比

怎么样晕了没,挺住,来了!!~~(离离原上谱)

所以,我们要做的就是把没有修改的地方,放进去一句话木马所对应的值

哈哈就可以了吧!!~~~

以上是upload靶场的前十七内容哦~~

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

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

相关文章

【XML】TinyXML 详解(一):介绍

【C】郭老二博文之:C目录 1、简介 优点: TinyXML 是一个简单、小型的 C XML 解析器,可以轻松集成到项目中。 TinyXML 解析 XML 文档,并根据该文档构建可读取、修改和保存的文档对象模型 (DOM) TinyXML 是在 ZLib 许可下发布的&a…

UG凸起命令

凸起命令是拉伸命令的补充,可以方便的对曲面进行拉伸切除。 当端盖中几何体类型选择默认的截面平面的时候,相当于拉伸命令 当端盖中几何体类型选择凸起的面的时候,相当于拉伸其实曲线变为选择曲线在凸起面的投影曲线,然后基于凸起…

栈的常见题型

1.有效的括号 char pairs(char a) {if(a})return {;if(a])return [;if(a))return (;return 0; } bool isValid(char* s) {char* stack(char*)malloc(sizeof(char)*10000);int top0;int lenstrlen(s);if(len%21)return false;for(int i0;s[i];i){char chpairs(s[i]);if(ch){if(t…

BTF:实践指南

本文地址:BTF:实践指南 | 深入浅出 eBPF 1. BPF 的常见限制 1.1 调试限制1.2 可移植性2. BTF 是什么?3. BTF 快速入门 3.1 BPF 快速入门3.1 BTF 和 CO-RE4. 结论 BPF 是 Linux 内核中基于寄存器的虚拟机,可安全、高效和事件驱动…

【STM32】STM32学习笔记-TIM定时中断(13)

00. 目录 文章目录 00. 目录01. TIM简介02. 定时器类型03. 基本定时器04. 通用定时器05. 高级定时器06. 定时中断基本结构07. 预分频器时序08. 计数器时序09. 计数器无预装时序10. 计数器有预装时序11. RCC时钟树12. 附录 01. TIM简介 TIM(Timer)定时器…

数据库中间件介绍

文章目录 什么是数据库中间件?Smart-client 模式优点缺点 Proxy 模式优点缺点 单元化架构优点缺点 总结 数据库中间件是连接数据库和应用程序之间的软件层,用于简化数据库管理、提高性能和可伸缩性,同时提供额外的功能和服务。在分布式系统和…

mybatis的二级缓存使用以及禁用

目录 mybatis 二级缓存配置有两处 全局设置 mapper 设置 测试代码 执行结果 源码执行逻辑 创建 SqlSession 二级缓存配置是否添加 解析 cache 标签 XMLMapperBuilder MapperBuilderAssistant CacheBuilder PerpetualCache SerializedCache LoggingCache 将 cach…

Python教程(17)——python模块是什么?python模块详解

Python模块简介 模块是一个包含了Python定义和语句的文件,可用于将功能组织成可重用和可维护的代码块。每个Python文件都可以作为一个模块,模块可以包含变量、函数、类或可执行代码。通过使用模块,我们可以将代码分离成逻辑单元,…

【vtkWidgetRepresentation】第十八期 vtkHoverWidget

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享vtkHoverWidget,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. vtkHoverWidget vtkHoverWidget用于在呈现窗口中…

Python生成圣诞节贺卡-代码案例剖析【第18篇—python圣诞节系列】

文章目录 ❄️Python制作圣诞节贺卡🐬展示效果🌸代码🌴代码剖析 ❄️Python制作圣诞树贺卡🐬展示效果🌸代码🌴代码剖析🌸总结 🎅圣诞节快乐! ❄️Python制作圣诞节贺卡 …

商户如何去申请支付宝小程序以及对接团购(天财商龙)

申请支付宝小程序的前提:必须要是支付宝实名认证用户(要申请企业支付宝) 1.申请企业支付宝 申请网址:支付宝商家后台 https://b.alipay.com 企业支付宝必须是法人扫码进行注册 申请资料:企业的营业执照,没…

simulink代码生成(二)——ADC采样模块

这一节梳理如何使用C2000库中的ADC模块,从而实现采样; 先预留几个问题,逐步进行解决。 (1)在simulink中C2000的ADC采样模块设置是怎么样的?各个选项卡代表什么? (2)AD…

【开源】基于JAVA语言的学校热点新闻推送系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 新闻类型模块2.2 新闻档案模块2.3 新闻留言模块2.4 新闻评论模块2.5 新闻收藏模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 新闻类型表3.2.2 新闻表3.2.3 新闻留言表3.2.4 新闻评论表3.2.5 新闻收藏表 四、系统展…

谷粒商城|仓储服务-仓库管理

配置服务中心 cloud:nacos:discovery:server-addr: 127.0.0.1:8848application:name: guliware在网关配置路由转发 guligateway .yml配置文件 - id: ware_routeuri: lb://guliwarepredicates:- Path/api/guliware/**filters:- RewritePath/api/(?<segment>.*),/$\{segm…

计算机网络复习-OSI TCP/IP 物理层

我膨胀了&#xff0c;挂我啊~ 作者简介&#xff1a; 每年都吐槽吉师网安奇怪的课程安排、全校正经学网络安全不超20人情景以及割韭菜企业合作的FW&#xff0c;今年是第一年。。 TCP/IP模型 先做两道题&#xff1a; TCP/IP协议模型由高层到低层分为哪几层&#xff1a; 这题…

EasyPoi(excel导入导出)

一&#xff0c;依赖包&#xff1a; <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><version>4.1.3</version></dependency> 二&#xff0c;官网文档 1. 前言 - Powered…

格密码基础:q-ary格

目录 一. 格密码的重要性 二. 格密码基础 2.1 格点的另一种理解方式 三. q-ary格 3.1 q-ary垂直格 3.2 q-ary格 3.3 二者结合 四. 论文中的q-ary格 4.1 定理1 4.2 定理2 4.3 定理3 一. 格密码的重要性 格密码的基础是研究格点上的困难问题&#xff0c;这种格点使用…

从浮点数度分秒1.40000中无损精度提取1度40分00.0秒的方法

那些最好的程序员不是为了得到更高的薪水或者得到公众的仰慕而编程&#xff0c;他们只是觉得这是一件有趣的事情&#xff01; 从浮点数度分秒1.40000中无损精度提取1度40分00.0秒的方法 &#x1f340;前言&#x1f338;传统的提取方法&#x1f516;算法介绍&#x1f9fe;Python…

Java研学-HTTP 协议

一 概述 1 概念和作用 概念&#xff1a;HTTP 是 HyperText Transfer Protocol (超文本传输协议)的简写&#xff0c;它是 TCP/IP 协议之上的一个应用层协议。简单理解就是 HTTP 协议底层是对 TCP/IP 协议的封装。   作用&#xff1a;用于规定浏览器和服务器之间数据传输的格式…

(企业 / 公司项目)如何使用分布式任务调度框架Quartz集成 和 SpringBoot自带的定时任务集成?

SpringBoot自带的定时任务 首先在你的微服务项目中创建一个新的模块&#xff0c;定时调度模块 pom.xml里面关联公共模块common的依赖其他不需要改变 然后启动类别删&#xff0c;启动项目是否报错&#xff0c;写一个简单的测试类访问路径是否成功 package com.jiawa.train.bat…