实验环境

  • 操作机:

    Windows XP
    
    • 目标机:Windows 2003
    • 目标网址:www.test.com

实验目的

  • 了解php扩展名解析原则
  • 学会利用修改后缀名绕过上传防护

实验工具

  • 中国菜刀:是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用中国菜刀来进行管理,本次试验主要用到其动态脚本管理功能

实验内容


实验步骤

步骤1:上传正常图片和WebShell

快速查找实验工具

  • 打开桌面 Everything 搜索工具,输入实验工具名称,右击选择“打开路径”,跳转实验工具所在位置。
  • 以查找BURP为例为大家演示。

上传正常的图片以及上传PHP一句话文件,查看区别,准备一个普通的图片,使用*.jpg在电脑上进行搜索,可以看到很多图片,复制一张图片放到桌面上,改名为tupian.jpg

打开上传地址,选取准备好的图片,上传图片。

上传成功后,观察返回的页面信息。

由于我们准备的是PHP环境,所以需要使用PHP的一句话,接着我们来制作一句话。

新建一个空文本文档,将一句话写入到文本中。

修改文件名为yijuhua.php并保存到桌面

上传PHP文件,这时如果提示上传失败,则证明服务器可能对上传文件的后缀做了判断。

步骤2:修改文件扩展名绕过上传检测

php语言除了可以解析以php为后缀的文件,还可以解析php2,php3、php4、php5这些后缀的文件。

我们可以将文件名修改为如下的后缀yijuhua.php2,重新上传。

我们发现上传依旧失败,接着我们把文件名改为yijuhua.php3yijuhua.php4yijuhua.php5依次进行上传尝试,直到发现yijuhua.php3yijuhua.php4是可以上传成功的。

小i提示:

  • 不同的服务器,可以上传的文件类型也不同,所以需要进行逐个排除

当使用yijuhua.php3yijuhua.php4上传成功后,我们需要访问文件,这时可直接复制文件路径(File Name后面的内容,即是一句话的路径),将复制的地址粘贴至网站地址后面,从而构造访问地址,并复制构造好的地址。例如:http://www.test.com/uploading/1412097218.php3

步骤3:获取WEBShell权限

使用中国菜刀软件打开webshell地址

打开中国菜刀软件并填入复制的访问地址,填入你设定的密码,这里设置的密码是1,选择脚本类型为PHP,单击添加按钮,最后我们双击指定条目后的可以看到目标网站的目录,这样我们就成功获取到目标网站的WEBShell权限。

实验结果总结

本次实验我们了解php扩展名解析原则,并学会利用修改后缀名绕过上传防护,下面给出修复方案。

防御方案

1.客户端检测,使用JS对上传图片检测,包括文件大小、文件扩展名、文件类型等

2.服务端检测,对文件大小、文件路径、文件扩展名、文件类型、文件内容检测,对文件重命名

3.其他限制,服务器端上传目录设置不可执行权限

第1题:以下那种文件是不能被解析成php的?

php

php3

php4

jsp

d

key{7y4j2x5m}

PHP修改后缀名绕过相关推荐

  1. python-argparse批量修改后缀名-batch_file_rename.py

    python-argparse批量修改后缀名-batch_file_rename.py #!/bin/usr/env python3__author__ = 'nxz'import os import ...

  2. asp 检测更改后缀的图片_微信不能发送25M以上视频?一键修改后缀名,就能立马发送...

    微信不能发送25M以上视频?一键修改后缀名,就能立马发送 微信发送视频给好友这个操作每个人都使用过,但你知道在发送长视频时只要超过25M以上就不可以发送吗?其实方法非常简单,下面就教大家怎样发送长视频 ...

  3. excel 修改设置(将excel修改后缀名,解压缩方式)

    1 新建一个excel文件 2 修改后缀名为.zip格式 3解压缩出文件夹 4 文件结构如下,可以进行修改,给excel添加一些功能键可结合VBA添加事件. 5修改完成后,全选文件,进行压缩.注:不要 ...

  4. 用python批量修改后缀名

    今天刚接触了一下python,觉得python和java的语言有很大不同.虽然厚实面向对象,但是写法有很大区别.相比较java的大量的声明和实例化,python则简介了很多.学起来也蛮有趣的.根据网上 ...

  5. 图片可隐藏zip和mp3文件,只需修改后缀名,这个GitHub项目火了

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 明明下载的是一张图片,只需修改后缀名,图片就变成了一首歌,一串Python代码. 国外黑客David Buchanan利用Twitter的 ...

  6. php 绕过扩展名检查,文件上传漏洞---后缀名绕过原理

    0x00 前言 今天来讨论文件上传漏洞之后缀名绕过.通常在实际生产过程中,并不会有直接可以上传.php等明显的可直接执行的文件,所以在这里我记录下后缀名绕过的原理和方法. 0x01 绕过方法 首先准备 ...

  7. ubuntu下批量修改后缀名及批量重命名

    1.批量修改后缀名 rename   's/\.JPG/.gif/'    *.JPG (注意:在单引号中的最后一个'/'符号不能少!) 其中.JPG是要修改文件的后缀名,.gif是你要修改成的后缀名 ...

  8. linux下批量修改前缀,Linux 中批量修改后缀名

    在某年某月的某分某秒一场悲剧发生,心情是非常的不爽,一同事把2G的图片上传到服务器,程序默认的是小写的.jpg格式,但是图片都是大写的.这时候查了很多的资料看的了这些东西,也跟大家分享一下,希望可以帮 ...

  9. python 批量修改后缀名

    要批量修改文件的后缀名,您可以使用Python中的 os 模块来进行操作.下面是一个示例代码,演示如何将指定文件夹中的所有文件的后缀名从旧后缀名修改为新后缀名: import osdef batch_ ...

  10. Linux怎么查找指定后缀名文件以及批量修改后缀名

    今天做了一道Linux的题目,题目如下: 其中查找并不难实现,使用find语句:find /var/log -name "*.log" 就可以实现,shell脚本如下: #!/bi ...

最新文章

  1. Java虚拟机5:常用JVM命令参数
  2. 通过这组数据分析发现房价波动背后的规律
  3. R语言GGPlot2
  4. 牛客练习赛73 D 离别(线段树+右端点排序离线查询)
  5. android 开发 短信,Android开发之短信发送
  6. 如何在js中使用ajax请求数据,在 JS 中怎么使用 Ajax 来进行请求
  7. 如何将多个一维列表转化为二维列表_数据分析2_如何处理一维、二维数据
  8. 训练日志 2018.10.7
  9. FTP 编写 4:命令解析
  10. [置顶] 基于tlplayer的ios应用《虎跃在线课堂-英语篇》上线了
  11. 聊聊spring data jpa的JpaQueryLookupStrategy
  12. 企业要实现用计算机完成存货管理,关于当前企业存货管理存在的问题及其完善措施...
  13. matlab基因频率是看最大值吗,基于ICA的语音信号盲分离
  14. 新托业模拟考试感言—了解一下参加过托业考试前辈们的经验01
  15. 2G、 3G、 4G、5G的区别
  16. 找不到.jack_您不了解Jack关于Firefox的知识!
  17. 学习笔记——计组—流水线
  18. TiDB在摩拜单车在线数据业务的应用和实践
  19. 【缺陷检测】基于matlab GUI印刷电路板自动缺陷检测【含Matlab源码 1912期】
  20. 【XSY2498】贪吃蛇(bfs/dfs)

热门文章

  1. 电信家庭宽带光猫端口映射实现外网访问家庭内网
  2. Java 升级那么快,多个版本如何灵活切换和管理?
  3. 大厂纷纷押宝“元宇宙”“鸡肋”智能眼镜难成密钥
  4. 一般二阶线性非齐次微分方程的解与对应齐次方程的解的关系
  5. Python银行风控模型的建立(解决Grapviz的中文显示问题)
  6. python爬取bilibili弹幕_python 爬取bilibili 视频弹幕
  7. 【MILP】Mixed-Integer Quadratic Programming portfolio optimzation
  8. Spring Boot中mybatis:Field peopleInfoMapper in ‘**’that could not be found.
  9. 【51单片机】(手把手教你)1602液晶屏-基础篇
  10. 农业大省吉林谋乡村全面振兴:农业强、农村美、农民富