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的漏洞加载图片,成功解析,此时可以使用蚂剑或类似的工具进行连接,此处不做演示

相关推荐
SwBack8 小时前
[qsctf] 雏形系统
php·web·ctf·反序列化·雏形系统·qsctf
w***95498 小时前
linux 网卡配置
linux·网络·php
F***74178 小时前
PHP操作redis
开发语言·redis·php
IT·小灰灰9 小时前
深度解析重排序AI模型:基于硅基流动API调用多语言重排序AI实战指南
java·大数据·javascript·人工智能·python·数据挖掘·php
k***81729 小时前
PHP使用Redis实战实录2:Redis扩展方法和PHP连接Redis的多种方案
开发语言·redis·php
星光一影9 小时前
同城派送系统源码,支持小程序,h5,app
mysql·小程序·php·uniapp
星光一影10 小时前
原生社交app/工会/家族/语音房/直播社交/付费解锁聊天/广场好友圈子/一对一聊天交友
mysql·uni-app·php·html5·交友
JienDa11 小时前
JienDa聊PHP:知乎仿站实战中PHP框架的协同架构方略
开发语言·架构·php
Funny Valentine-js11 小时前
web实验后端php测试文本
前端·javascript·php·html5·cookie·telnet·session
z***396211 小时前
docker网络模式及配置
网络·docker·php