🔎 看图说话:文件上传(File Upload)漏洞示例

2018-09-07  本文已影响38人  9016

1、File Upload(文件上传)漏洞,由于对用户上传文件的类型、内容没有进行严格的审查,使得攻击者可以通过上传含有执行脚本的木马文件操纵服务器;

2、准备PHP脚本文件FI_GET_INI.php,内含一行脚本<?php echo phpinfo(); ?>;

3、准备jpeg文件,Desert.jpeg原为windows自带图片,执行CMD命令copy Desert.jpeg+FI_GET_INI.php Desert.jpeg,将<?php echo phpinfo(), ?>追加在图片Desert.jpeg最后;

4、以下为实际场景实验,打开靶机页面:

5、上传FI_GET_INI.php,成功,说明系统没有对文件类型进行检查,接受PHP脚本文件上传:

6、上传Desert.jpeg,成功,使用文本编辑器打开服务器接收上传文件目录中Desert.jpeg,发现<?php echo phpinfo() ?>在图片文件中,说明系统没有检查文件内容,接受含有恶意脚本文件上传:

7、第5步、第6步上传的文件,配合文件包含漏洞(File Inclusion),可以轻易在服务器上执行(可参考《看图说话:文件包含(File Inclusion)漏洞示例》);

8、文件上传(File Upload)漏洞的主要防范措施:

(1)限制上传文件的类型(针对第5步中上传的PHP文件)、

(2)限制上传文件的大小、

(3)隐藏文件路径(上面截图中可以轻易获取上传文件在服务器端保存的位置,为文件包含攻击提供便利)、

(4)检查上传文件中是否含有恶意信息(如检查图片文件是否正常编码开头结尾,避免第6步中上传的图片文件含有恶意脚本)。

上一篇下一篇

猜你喜欢

热点阅读