当前位置: 首页 > news >正文

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

相关文章:

  • 深入理解 Spring Boot 内置工具类:ReflectionUtils
  • GPT 写作与改编
  • RabbitMQ 系列教程
  • ChatGPT重磅升级 奢侈品VERTU推出双模型AI手机
  • Android 12 S 系统开机流程分析 - SecondStageMain(三)
  • 一封来自未来的offer
  • Vite探索:构建、启程、原理、CSS艺术与插件魔法
  • CSS常用示例100+ 【目录】
  • MyBatis 知识总结
  • 从Docker Hub获取镜像和创建容器
  • 绩效管理系统有哪些?
  • 新生儿奶瓣:原因、科普和注意事项
  • 线性代数-Python-05:矩阵的逆+LU分解
  • 【vue2】vue2 适配pc端,解决浏览器缩放问题,解决电脑显示设置缩放、分辨率问题
  • opencv车牌识别<一>
  • [译] 怎样写一个基础的编译器
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【EOS】Cleos基础
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Asm.js的简单介绍
  • CSS相对定位
  • GitUp, 你不可错过的秀外慧中的git工具
  • JAVA SE 6 GC调优笔记
  • JAVA_NIO系列——Channel和Buffer详解
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • LeetCode29.两数相除 JavaScript
  • MySQL的数据类型
  • ng6--错误信息小结(持续更新)
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Vue--数据传输
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 大整数乘法-表格法
  • 实习面试笔记
  • 使用 QuickBI 搭建酷炫可视化分析
  • 手机app有了短信验证码还有没必要有图片验证码?
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 组复制官方翻译九、Group Replication Technical Details
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​人工智能书单(数学基础篇)
  • # 安徽锐锋科技IDMS系统简介
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (HAL库版)freeRTOS移植STMF103
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (译) 函数式 JS #1:简介
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)setTimeout 和 setInterval 的区别
  • (转)为C# Windows服务添加安装程序
  • .cfg\.dat\.mak(持续补充)