首页 > 其他分享 >文件上传

文件上传

时间:2024-07-04 23:19:58浏览次数:19  
标签:文件 00 asp index php 上传

基本概念

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传” 本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。

客服端绕过

直接使用 burp 抓包改包,先上传一个 gif 类型的木马,然后通过 burp 将其改为asp/php/jsp 后缀名即可。

服务端绕过

后缀绕过

php

php 
php5
pht
phtml
shtml
pwml
phtm

jsp/asp

.jspx
.jspf
.jspa
.jsw
.jsv
.jtml

---
.asa
.asax
.cer
.cdx
.aspx
.ascx
.ashx
.asmx

asp{80-90

Magic检测绕过

上传文件的时候会检查上传文件是否合法,通过burp在木马内容基础上再加了一些文件信息,形成如下的结构:

GIF89a <?php phpinfo(); ?>

系统命名绕过

在Windows系统中,会自动去除不合理字符。如上传 index.php. 重命名为 index.php ,可这样以绕过后缀检查。 也可尝试 index.php%20 , index.php:1.jpg index.php::$DATA 等。

在Linux系统中,可以尝试上传名为 index.php/. 或 ./aa/../index.php/. 的文件

.user.ini

在php执行的过程中,除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web 根目录($SERVER'DOCUMENT_ROOT' 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。 .user.ini 中可以定义除了PHP_INI_SYSTEM以外的模式的选项,故可以使用 .user.ini 加上非php后缀的文件构造一个shell,比如 auto_prepend_file=01.gif

%00 截断上传绕过

php版本小于 5.3.4

通过抓包截断将 backlion.asp.jpg 后面的一个.换成%00 在上传的时候即 backlion.asp%00.jpg,当文件系统读到%00 时,会认为文件已经结束,从而将 backlion.asp.jpg 的内容写入到 backlion.asp 中,从而达到攻击的目的。%00 不是针对所有基于白名单的后缀名检查都能绕过,代码的实现过程中必须存在截断上传漏洞,上传格式如下:bk.asp%00.jpg

软链接任意读文件

上传的压缩包文件会被解压的文件时,可以考虑上传含符号链接的文件 若服务器没有做好防护,可实现任意文件读取的效果

标签:文件,00,asp,index,php,上传
From: https://www.cnblogs.com/Ho1dF0rward/p/18284885

相关文章

  • PyPDF2拆分PDF文件的高级应用:指定拆分方式
    本文目录前言一、拆分方式选择1、代码讲解2、实现效果图3、完整代码前言前两篇文章,分别讲解了将使用PyPDF2将PDF文档分割成为单个页面、在分割PDF文档时指定只分割出指定页面,如果你还没有看过,然后有需要的话,可以去看一下,我把文章链接贴到这里:PyPDF2拆分P......
  • Jupyter notebook 如何修改一开始打开的文件路径?
    问题介绍:安装anaconda时,会自带安装jupyternotebook,但是,通过网页打开后,其默认打开路径是在C盘下,对于C盘内存不太够的友友就想把默认路径更改成D盘或其他盘。那么如何修改Jupyternotebook一开始打开的文件路径呢?请继续往下看!大多数人的解决方案参考链接1.生成配置文件:在开始......
  • python logging 自定义备份的日志文件命名
    importtimeimportloggingfromlogging.handlersimportTimedRotatingFileHandlerdeflog_file_namer(log_file_name):log_file_name_split=log_file_name.split('.')log_suffix=log_file_name_split.pop(1)log_file_name_split.append(l......
  • vim学习笔记——多文件、多窗口编辑
    多文件编辑vimfile1file2...可以同时打开多个文件多文件编辑的按键:n编辑下一个文件:N编辑上一个文件:files列出目前这个vim开启的所有文件多窗口编辑命令模式下输入:sp[filename]即可进入多窗口编辑功能多窗口情况下的按键说明:sp[filename]打开......
  • Java SSH 客户端 如何删除 linux 机器上的 文件
    在Java中,可以使用SSH客户端库如JSch(JavaSecureChannel)来连接到远程Linux机器并执行命令,包括删除文件。下面是一个使用JSch库的示例,展示如何通过SSH删除远程Linux机器上的文件。步骤:添加JSch库:确保您的项目包含JSch库。如果您使用的是Maven,可以在pom.xml......
  • pom.xml 文件中的 <relativePath/>是指什么
    在Maven的pom.xml文件中,<relativePath/>元素用于指定一个父POM文件的相对路径。这个路径是相对于当前项目的pom.xml文件所在位置的路径。该元素主要用于定义多模块项目或层次化项目结构时,子项目如何找到父项目的pom.xml文件。详细解释基本语法<parent><groupId......
  • net6 WebAPI大文件上传
    最近由于客户需要上传大文件,所以研究了一下文件上传的问题net6上传文件分为两种情况:buffering和streaming(缓存和流)Buffering:我们平时采用的通过IFormFile上传文件的方式就是Buffering,此方式会将文件全部缓存起来。这种方式简单,但对内存和硬盘空间造成负担。关于缓存,这里有个误......
  • 分享一款可编辑本地电脑文件的在线编辑器
    背景之前见过在线版的VSCode,被惊讶到了。网页上竟然可以编辑电脑本地的文件,打破了网页无法编辑本地电脑文件的限制。一直好奇怎么做的。抽空研究了一下,然后发现其实也不难。 分析先给大家介绍一下这款在线编辑器的效果。 左侧栏为文件浏览器,显示了文件列表。右侧为编辑器......
  • 快速上手文件操作
    文件操作一.文件的分类1.程序文件2.数据文件(1)二进制文件(2)文本文件二.文件的打开与关闭1.文件指针2.文件的打开方式:‘r’与‘w’3.fopen与fclose三.文件操作写法举例一.文件的分类1.程序文件程序文件包括,以“.c”为后缀的源程序文件,以“.exe”为后缀的可执行程序......
  • 使用 Putty 的 PSFTP 上传文件到服务器(手工、bat批处理)
    一、手工方式上传1.建立连接:psftp.exe-iaws.ppk(自己的秘钥)2.使用用户名登录地址:[email protected]显示Remoteworkingdirectoryis/home/xxx此时已经建立了连接。3.上传文件putfilename默认传到/home/xxx目录下4.下载文件get/home/xxx/filename......