文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。

文件上传导致的常见安全问题:

上传文件是Web脚本语言,服务器的Web容器解释并执行了用户上传的脚本,导致代码执行;

上传文件是Flash的策略文件crossdomain.xml,黑客用以控制Flash在该域下的行为(其他通过类似方式控制策略文件的情况类似);

上传文件是病毒、木马文件,黑客用以诱骗用户或者管理员下载执行;

上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈;

完成这个攻击需要的条件:

首先,上传的文件要能被Web容器解释执行,所以文件上传后所在目录要是Web容器所覆盖到的路径;

其次,用户能够从Web上访问这个文件。如果文件上传了,但用户无法通过Web访问,或无法通过Web容器解释这个脚本,那么不能称之为漏洞;

最后,用户上传的文件若被安全检查、格式化、图片压缩等功能改变了内容,可能导致攻击不成功;

Web For Pentester -- File Include

Example 1

上传php文件<?php echo phpinfo();?>输出关于 PHP 配置的信息

点击here即可查看配置信息

找到上传的文件路径,上传一句话木马<?php @eval($_POST['chopper']);?>

打开中国菜刀,连接成功

Example 2

上传文件

服务器的对文件的判断

  1. 服务端MIME 类型检测(检测Content-Type 内容)
  2. 服务端目录路径检测(检测跟path 参数相关的内容)、
  3. 服务端文件扩展名检测(检测跟文件extension 相关的内容)
  4. 服务端文件内容检测(检测内容是否合法或含有恶意代码)

BP抓包查看

不能上传php文件,修改后缀,将一句话木马改成hack.php.123(浏览器遇到不能识别的文件名后缀跳过)

上传文件,连接木马即可。

转载于:https://www.cnblogs.com/wanao/p/10976787.html

Web For Pentester -- File Upload相关推荐

  1. [NOTE] Web For Pentester靶场练习笔记

    [NOTE] Web For Pentester靶场练习笔记 文章目录 [NOTE] Web For Pentester靶场练习笔记 前言 Web基础 PHP的session管理 HTTP认证 Web ...

  2. fileupload的回调方法_jQuery File Upload文件上传插件使用详解

    本篇教程介绍了jQuery File Upload文件上传插件使用详解,希望阅读本篇文章以后大家有所收获,帮助大家对jQuery的理解更加深入. < jQuery File Upload 是一个 ...

  3. DVWA靶机-文件上传漏洞(File Upload)

    DVWA靶机-文件上传漏洞(File Upload) 文件上传漏洞的四个等级,low,medium,high,impossible,今天我们针对于不同的等级进行基于文件上传漏洞的攻击 DVWA靶机-暴 ...

  4. File Upload(文件上传)

    File Upload 前言 文件上传漏洞:攻击者上传了一个可执行的脚本文件,通过此脚本文件获得了执行服务器端命令的功能.文件上传是否会产生漏洞关键在于服务器怎么来处理,怎么来解析这个文件.如果说服务 ...

  5. 4月12日 | 【NDSS 2020】FUSE: Finding File Upload Bugs via Penetration Testing

    FUSE: Finding File Upload Bugs via Penetration Testing 作者 作者 来自于 方向 link 备注 Taekjin Lee 曾经实验室的毕业生 略 ...

  6. php图马,关于File Upload的一些思考

    原标题:关于File Upload的一些思考 在web渗透中,文件上传是最简单直接的方式之一. 但是碰到完全不做校验的代码直接上传getshell,很难有这样的运气:大部分时候都有检测,甚至多处设卡. ...

  7. java 文件上传漏洞_文件上传漏洞(File Upload)

    简介 File Upload,即文件上传漏洞,通常是由于对用户上传文件的类型.内容没有进行严格的过滤.检查,使得攻击者可以通过上传木马,病毒,恶意脚本等获取服务器的webshell权限,并进而攻击控制 ...

  8. php上传漏洞绕过gd库,jQuery File Upload任意文件上传漏洞

    事件背景 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个JavaScript代码库(或JavaScript框架).jQuery File Upload一个jQ ...

  9. 【渗透测试学习平台】 web for pentester -1.介绍与安装

    web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术. 官网:https://www.pentesterlab.com 下载地址: ...

最新文章

  1. 据说程序员等电梯的时候都想过调度算法
  2. Forcepoint DLP解决方案持续推高各机构的业务发展进程
  3. Redhat的硬盘安装
  4. 服务器 操作系统安装到sd卡,DELL服务器通过sd卡安装系统(iDRAC Use vFlash ).doc
  5. 消消乐实现下坠_JavaScript有多强大,实现消消乐小游戏
  6. 机器学习与计算机视觉(计算机视觉的嵌入式平台)
  7. Step by Step 使用HTML5开发一个星际大战游戏(1)
  8. anaconda cuda路径_anaconda+cuda+cudann+tensorflow环境安装
  9. 使用QT + cocos2dx制作工具
  10. IEEE Latex下载
  11. csgo连接到任意官方服务器失败删除文件,CSGO连接到官方任意服务器失败怎么办...
  12. adb命令刷机vivox20_vivo手机如何双清?vivo双wipe刷机教程
  13. Elasticsearch nested嵌套类型
  14. 迎虎年新春诗会—欢迎赐玉 不拘一格
  15. 第十三届蓝桥杯大赛软件赛省赛(b组c语言)
  16. 林格斯添加真人语音库
  17. onedrive指定文件夹备份
  18. hadoop 不能加载native-hadoop library问题
  19. 在ubuntu18.04 上使用键盘鼠标共享软件 Synergy
  20. 五种蓝牙耳机,到底谁才是你的菜

热门文章

  1. mysql pxc_MySQL之PXC集群搭建
  2. 二分法在数组内查找数c语言,C++二分法在数组中查找关键字的方法
  3. 安装mysql5.7.24rpm_centos7安装mysql-5.7.24(rpm安装)
  4. pythondocumentation是什么_怎样阅读Python官方文档
  5. 交叉编译android版htop
  6. 【经验贴】smartCarers在比赛后如何获取更好的发展
  7. 零拷贝机制在文件传输中的使用手法
  8. 【C++ grammar】常量、指针、Usage of using, typedef, and #define
  9. 紫书的训练计划——一点点来,坚持到底!
  10. linux与windows编码转化