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

相关推荐
ac-er88881 小时前
PHP“===”的意义
开发语言·php
wxin_VXbishe1 小时前
springboot合肥师范学院实习实训管理系统-计算机毕业设计源码31290
java·spring boot·python·spring·servlet·django·php
小小不董2 小时前
《Linux从小白到高手》理论篇:深入理解Linux的网络管理
linux·运维·服务器·数据库·php·dba
豆豆2 小时前
为什么用PageAdmin CMS建设网站?
服务器·开发语言·前端·php·软件构建
NiNg_1_2343 小时前
ThinkPHP5基础入门
php
2401_857610034 小时前
SpringBoot实现:校园资料分享平台开发指南
服务器·spring boot·php
Q_w77424 小时前
一个真实可用的登录界面!
javascript·mysql·php·html5·网站登录
一丝晨光5 小时前
Java、PHP、ASP、JSP、Kotlin、.NET、Go
java·kotlin·go·php·.net·jsp·asp
Eternal-Student9 小时前
everyday_question dq20240731
开发语言·arm开发·php
zhangphil11 小时前
Windows环境Apache httpd 2.4 web服务器加载PHP8:Hello,world!
php·apache·httpd