phpcms 任意文件上传 (你知道phpcms如何实现任意文件上传吗?)

PHPcms是一种开源的内容管理系统,但是它也存在着一些安全隐患。其中之一就是任意文件上传漏洞,本文将详细介绍PHPcms的任意文件上传漏洞及其原理。

一、什么是任意文件上传漏洞?

任意文件上传漏洞,就是攻击者可以在未经授权情况下通过某个漏洞,将任意文件上传到受攻击者服务器上。这个文件可以是攻击者自己编写的webshell,进而达到控制整个网站服务器的目的。

二、phpcms任意文件上传漏洞参数分析

PHPcms自身的上传文件校验逻辑较为简单,限制的内容只有上传文件大小和上传文件类型两个方面。

参数类型:$FILES[‘file’][‘name’],$FILES[‘file’][‘tmp_name’]。

参数解释:$FILES[‘file’][‘name’]对应上传文件的文件名、$FILES[‘file’][‘tmp_name’]对应上传文件的本地临时存储路径。

三、phpcms任意文件上传漏洞原理

钓鱼者利用[1.jpg.],即文件名为“1.jpg.”的文件,这种文件将默认被截取成“1.jpg”,而后缀名将被忽略,其类型可被任意伪造。在上传上传的过程中截取文件名会忽略最后一个“.”,因此黑客可以来构造带有特殊结尾的文件名,以此达到攻击者所期望的目的。 如:

在上述代码中,上传文件名被保存在$filename中,攻击者可通过传入”1.jpg.php”等恶意后缀实现上传webshell,最终访问webshell地址即可执行任意代码。

四、phpcms任意文件上传漏洞利用方法

攻击者上传webshell到目标网站,直接通过执行webshell得到目标站webshell权限。以下是一些可以上传文件的phpcms目录:

/admin/Attachment/swfupload/uploads

/api/Uploads

/install_pack/upload

/phpsso_server/upload/

/phpsso_server/caches/

/statics/default/images/QQimages/

/statics/plugs/wxshare/

/statics/webuploader/0.1.5/

/uploadfile/

在攻击者上传内容中,需要注意的是uploadfile目录权限一般为777,易受攻击。所以,要对该目录进行防范。同时,建议尽早升级phpcms版本,以提高服务器的安全性。

五、phpcms任意文件上传漏洞修复方法

针对phpcms任意文件上传漏洞,方法有如下两种:

1.禁止 web 服务器的执行权限(chattr +i)。

2.上传文件白名单,只允许特定格式的文件上传。

建议网站管理员及时升级和修补相关漏洞,保障网站的信息安全。

经过以上的介绍,相信大家已经对phpcms任意文件上传漏洞及其防范有了更深的认识。最后,强烈建议网站管理员进行安全加固,以保障用户的使用安全及数据安全。

如有侵犯您的权益请邮件发送:rainpro@foxmail.com,站长看到会第一时间处理
客栈猫 » phpcms 任意文件上传 (你知道phpcms如何实现任意文件上传吗?)

提供最优质的资源集合

立即查看 了解详情