PHP修改后缀名绕过

实验环境

  • 操作机:

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

实验目的

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

实验工具

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

实验内容


实验步骤

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

快速查找实验工具

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

PHP修改后缀名绕过_第1张图片

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

PHP修改后缀名绕过_第2张图片

PHP修改后缀名绕过_第3张图片

PHP修改后缀名绕过_第4张图片

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

PHP修改后缀名绕过_第5张图片

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

PHP修改后缀名绕过_第6张图片

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

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

PHP修改后缀名绕过_第7张图片

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

PHP修改后缀名绕过_第8张图片

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

PHP修改后缀名绕过_第9张图片

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

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

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

PHP修改后缀名绕过_第10张图片

PHP修改后缀名绕过_第11张图片

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

小i提示:

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

PHP修改后缀名绕过_第12张图片

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

PHP修改后缀名绕过_第13张图片

PHP修改后缀名绕过_第14张图片

步骤3:获取WEBShell权限

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

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

PHP修改后缀名绕过_第15张图片

PHP修改后缀名绕过_第16张图片

PHP修改后缀名绕过_第17张图片

PHP修改后缀名绕过_第18张图片

实验结果总结

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

防御方案

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

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

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

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

php

php3

php4

jsp

d

key{7y4j2x5m}

你可能感兴趣的:(EuS)