File Upload

File Upload

File Upload(文件上传),Web应用程序的安全漏洞,如果应用程序未能正确验证和限制用户上传文件的类型、大小和内容。攻击者可以通过构造特制的文件来绕过这些验证,上传包含恶意代码的文件,并在服务器上执行恶意操作。

Low

可以看到代码没有验证上传文件的类型,代码没有限制上传文件的大小。

我们使用cobaltstrike创建一个Windows可执行程序的后门上传。(正常情况下会直接被window安全中心拦截隔离,这里做测试用,先允许此后门的存在)

我们顺着这个目录去找这个文件, 可以看到确实上传成功了

随后,我们在cs的客户端就可以查看,进行会话交互、提权、浏览探测。

Medium

这里对文件类型和大小进行了验证,仅允许大小为100000 字节的 JPEG 和 PNG 类型的文件上传.

我们在上传时使用先将文件的后缀修改为png,然后在burp中抓包修改文件后缀即可上传成功。

High

代码在文件上传方面做了一改进,包括文件类型验证、文件大小限制、以及通过 getimagesize() 函数进一步验证文件是否是图片。

所以我们使用图片木马+文件包含来实现上传

将木马文件的内容复制到图片上面,通过上传图片,把木马传进去。

使用 copy 命令,通过 /b 选项将二进制文件合并,/a 选项将文件连接在一起。

test.pngshell.txt 合并成一个新的文件 new.png

上传文件new.png 上传成功

此时 我们利用 file inclusion的漏洞加载图片,成功解析,此时可以使用蚂剑或类似的工具进行连接,此处不做演示

相关推荐
不写八个11 小时前
PHP教程004:php链接mysql数据库
数据库·mysql·php
cch891816 小时前
PHP vs Go:Web开发选谁更胜一筹?
前端·golang·php
淼淼爱喝水18 小时前
OpenEuler 系统下 Ansible 环境部署与连通性测试完整步骤
linux·开发语言·php·openeuler
一只会跑会跳会发疯的猴子20 小时前
php操作elasticsearch,亲测可用
开发语言·elasticsearch·php
我叫黑大帅21 小时前
PHP 中处理图像的利器 GD库
后端·面试·php
我叫黑大帅1 天前
如何使用PHP创建图像验证码
后端·面试·php
FlyChat1 天前
自研搜索引擎实战:全栈PHP扛下核心,ES+Redis+Kafka+多语言爬虫构建高性能“智搜搜索”深度拆解
elasticsearch·搜索引擎·php
代码栈上的思考1 天前
消息队列自定义应用层协议设计:参数取舍与响应封装的核心逻辑
开发语言·php
cch89181 天前
PHP与C语言:从网页到内核的编程对决
c语言·开发语言·php
FlyChat1 天前
从零到亿:拆解“智搜搜索”工业化引擎——PHP如何驯服ElasticSearch、Kafka与多语言爬虫巨兽
elasticsearch·kafka·php