upload-labs后续(14-)

图片马

在图片中加入木马,然后上传让浏览器解析,达到上传木马的目的

制作图片马:可以在notepad++或者winhex中打开文件,在文件头中加入图片的文件头,再在文件末尾加入木马即可。

图片文件头如下:
1.Png图片文件包括8字节:89 50 4E 47 0D 0A 1A 0A。即为 .PNG。
2.Jpg图片文件包括2字节:FF D8。
3.Gif图片文件包括6字节:47 49 46 38 39|37 61 。即为 GIF89(7)a。
4.Bmp图片文件包括2字节:42 4D。即为 BM。

文件包含漏洞

实质:上传一段脚本,让服务端执行

包含:把可重复使用的函数写入到某个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数。

意义:攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。

pass-14

看题目环境,打开后看到提示说上传一个图片马,然后使用文件包含漏洞。

1.上传一个图片马并访问

2.使用文件包含漏洞

构造如下url然后访问即可

pass-15

1.上传图片马

getimagesize函数:对目标文件用16进制进行读取文件头的几个字符串是不是符合图片的要求,我们修改文件头为相应的

2.使用文件包含漏洞

pass-16

1.添加扩展(这个由于是自己搭的网站,会出现这种问题)

exif_imagetype()读取一个图像的第一个字节并检查其后缀名。需要在phpstudy的扩展种开启php.exif选项

Exif(Exchangeable image file format)是一种存储在JPEG和TIFF图像文件中的元数据,它包含有关图片的信息。PHP提供了一个名为Exif的扩展,可以方便地读取和处理这些信息

注意:php5.6以上的版本才能成功解析图片木马

2.上传图片马并构造包含的url

url格式为:include.php?file=upload

pass-17(二次渲染+图片马)

二次渲染:你上传的图片内容会被指令覆盖而生成或者改变成其他内容。

1.看源码

上传原本的图片马你会发现能成功上传,但是不能成功解析我们木马,查看源码,源码说会给图片进行二次渲染而生成新的图片

这里值得注意的是二次渲染并不是将所有部分都重新渲染,而是某部分被渲染

 2.打开010编辑

将之前上传成功的图片另存,并将其与没有上传的图像进行比较,可以明显看出,我们的木马部分被二次渲染,因为只是渲染部分的缘故,我们将木马插入其中一个没有被渲染的地方(16进制),再进行上传。

3.使用文件包含漏洞,成功。

pass-18(条件竞争)

1.代码审计

这上面说:假如我们上传的是jpg,png,gif类的图,会先被保存到服务器(move_uploaded_file()函数),之后就会被重新命名。反之,unlink()函数会删除这个文件。总体流程是先上传,判断文件名(是否删除文件),再进行重命名和二次渲染。

2.利用条件竞争上传绕过

我们在清理文件时会经常遇到:你打开一个文件,然后再发现你不想要,你想把它删除了,发现删除不了,这是因为你打开的文件尚未关闭,因此删除不了。我们可以里利用这个原理,用bp在它上传之前就访问,就OK了,它的名字叫条件竞争上传绕过。

它的实际操作是:用bp抓包

pass-19(条件竞争+白名单+其他漏洞配合)

1.改源码(作者问题)

2.查看源码

服务器将文件与白名单比较,检查文件类型,大小以及此文件有没有被上传,上传后又要重命名——复杂。

3.看大佬

这关后面调线程,试不出来,有兴趣的试一下。

晚安這個未知的世界-CSDN博客

pass-20(后缀黑名单+函数特性)

1.源码和函数

打开环境,多了一个可以保存名称的框

move_uploaded_file()函数会忽略掉文件末尾的 /.

 2.bp抓包

先上传一个PHP小马(修改后缀,不然传不上去),使用bp来抓包修改把后缀改为.php/.用蚁剑连接后即可

pass-21

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

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

相关文章

B站广告推广开户最低需要多少钱?

在竞争激烈的互联网营销环境中,哔哩哔哩(B站)作为深受年轻人喜爱的视频分享平台,其广告价值不容小觑。对于希望在B站上进行广告推广的企业或个人而言,了解开户流程及成本,选择专业的服务团队至关重要。介绍…

AI图书推荐:ChatGPT写论文的流程与策略

论文一直是任何学术学位的顶峰。它展示了学生在研究领域的兴趣和专业知识。撰写论文也是一个学习经验,为学术工作以及专业研究角色做好准备。但是,论文工作总是艰苦的,通常是充满乐趣和创造性的,但有时也是乏味和无聊的。生成式人…

kerberos-hive-dbeaver问题总结

一、kerberos安装windows客户端 1、官方下载地址 http://web.mit.edu/kerberos/dist/ 2、环境变量配置 下载msi安装包,无需重启计算机,调整环境变量在jdk的前面,尽量靠前,因为jdk也带了kinit、klist等命令 C:\Program Files\…

Kotlin泛型之 循环引用泛型(A的泛型是B的子类,B的泛型是A的子类)

IDE(编辑器)报错 循环引用泛型是我起的名字&#xff0c;不知道官方的名字是什么。这个问题是我在定义Android 的MVP时提出来的。具体是什么样的呢&#xff1f;我们看一下我的基础的MVP定义&#xff1a; interface IPresenter<V> { fun getView(): V }interface IVie…

41. UE5 RPG 设置火球术的碰撞类型

在上一篇中&#xff0c;我们设置了火球术从发射到击中敌人的整个周期使用的音效和特效&#xff0c;现在看上去它像一个真正的火球术了。在这一篇文章里面&#xff0c;我们主要解决一下火球术碰撞的问题&#xff0c;现在已知的问题是&#xff0c;有些不需要和火球产生碰撞的物体…

代码随想录-二叉树(节点)

目录 104. 二叉树的最大深度 题目描述&#xff1a; 输入输出描述&#xff1a; 思路和想法&#xff1a; 111. 二叉树的最小深度 题目描述&#xff1a; 输入输出描述&#xff1a; 思路和想法&#xff1a; 222. 完全二叉树的节点个数 题目描述&#xff1a; ​输入输出描…

商汤研究院招大模型实习生

商汤研究院招大模型实习生&#xff0c;base上海、北京&#xff0c;400/day。福利&#xff1a;每天50租房补贴&#xff0c;20的餐补。晚上8点之后回去有额外的25元晚餐餐补&#xff0c;10点之后回去可以免费用滴滴。 组内的大模型工作大概分两个方向&#xff1a; 1.3B、3B等小…

特别的时钟特别的倒计时

念念不忘的歌曲&#xff1a;Thats Why You Go Away <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title&…

IDEA新版本创建Spring项目只能勾选17和21却无法使用Java8的完美解决方案

想创建一个springboot的项目&#xff0c;使用Spring Initializr创建项目时&#xff0c;发现版本只有17&#xff5e;21&#xff0c;无法选择Java8。 我们知道IDEA页面创建Spring项目&#xff0c;其实是访问spring initializr去创建项目。我们可以通过阿里云国服间接创建Spring项…

工业异常检测

工业异常检测在业界和学界都一直是热门&#xff0c;近期其更是迎来了全新突破&#xff1a;与大模型相结合&#xff01;让异常检测变得更快更准更简单&#xff01; 比如模型AnomalyGPT&#xff0c;它克服了以往的局限&#xff0c;能够让大模型充分理解工业场景图像&#xff0c;判…

Redis哈希槽和一致性哈希

前言 单点的Redis有一定的局限&#xff1a; 单点发生故障&#xff0c;数据丢失&#xff0c;影响整体服务应用自身资源有限&#xff0c;无法承载更多资源分配并发访问&#xff0c;给服务器主机带来压力&#xff0c;性能瓶颈 我们想提升系统的容量、性能和可靠性&#xff0c;就…

paddleocr C++生成dll

目录 编译完成后修改内容: 新建ppocr.h头文件 注释掉main.cpp内全部内容&#xff0c;将下面内容替换进去。ppocr.h需要再环境配置中包含进去头文件 然后更改配置信息&#xff0c;将exe换成dll 随后右击重新编译会在根目录生成dll,lib文件。 注意这些dll一个也不能少。生成…

伪装目标检测论文阅读 SAM大模型之参数微调:Conv LoRA

paper&#xff1a;link code&#xff1a;还没公开 摘要 任意分割模型(SAM)是图像分割的基本框架。虽然它在典型场景中表现出显著的零镜头泛化&#xff0c;但当应用于医学图像和遥感等专门领域时&#xff0c;其优势就会减弱。针对这一局限性&#xff0c;本文提出了一种简单有效…

Java进阶-JavaStreamAPI的使用

本文全面介绍了 Java Stream API 的概念、功能以及如何在 Java 中有效地使用它进行集合和数据流的处理。通过详细解释和示例&#xff0c;文章展示了 Java Stream API 在简化代码、提高效率以及支持函数式编程方面的优势。文中还比较了 Java Stream API 与其他集合处理库的异同&…

Django之搭配内网穿透

一&#xff0c;安装coplar 二&#xff0c;开启8087的内网穿透 三&#xff0c;setting.py中加入如下配置&#xff1a; ALLOWED_HOSTS [*]CSRF_TRUSTED_ORIGINS ["https://localhost:8087", "http://localhost:8087"]四&#xff0c;启动项目 五&#xff…

比较美观即将跳转html源码

源码介绍 比较美观即将跳转html源码&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面 源码截图 比较美观的一个跳转界面&#xff0c;修改方法如上&…

MATLAB实现果蝇算法优化BP神经网络预测分类(FOA-BP)

果蝇算法&#xff08;Fruit Fly Optimization Algorithm, FFOA&#xff09;是一种启发式优化算法&#xff0c;受果蝇觅食行为的启发。将其应用于优化BP神经网络&#xff0c;主要是为了寻找BP神经网络中的最佳权重和偏置值。以下是一个基本的流程&#xff1a; 初始化&#xff1a…

Ubuntu20.04 [Ros Noetic]版本——在catkin_make编译时出现报错的解决方案

今天在新的笔记本电脑上进行catkin_make的编译过程中遇到了报错&#xff0c;这个报错在之前也遇到过&#xff0c;但是&#xff0c;我却忘了怎么解决。很是头痛&#xff01; 经过多篇博客的查询&#xff0c;特此解决了这个编译报错的问题&#xff0c;于此特地记录&#xff01;&…

【bug已解决】发生错误,导致虚拟 CPU 进入关闭状态。如果虚拟机外部发生此错误,则可能已导致物理计算机重新启动......

本bug报错已找到原因,并成功解决。 项目场景: vmware安装ubuntu报错。 如下: 发生错误,导致虚拟 CPU 进入关闭状态。如果虚拟机外部发生此错误,则可能已导致物理计算机重新启动。错误配置虚拟机、客户机操作系统中的错误或 VMware Workstation 中的问题都可以导致关闭状…

kaggle(4) Regression with an Abalone Dataset 鲍鱼数据集的回归

kaggle&#xff08;4&#xff09; Regression with an Abalone Dataset 鲍鱼数据集的回归 import pandas as pd import numpy as npimport xgboost import lightgbm import optuna import catboostfrom sklearn.model_selection import train_test_split from sklearn.metrics …