该漏洞CNVD-ID: CNVD-2019-12539
漏洞提交CNVD后,待CNVD公示才发出本文。
测试环境:windows7 + firefox + Burpsuite + apache2 +php5.6.27 + mysql5.5.53
产品官网:https://textpattern.com/
github: https://github.com/textpattern/textpattern
系统安装环境要求:https://textpattern.com/about/119/system-requirements
一、漏洞分析
上传文件是由/textpattern/include/txp_file.php文件中的function file_insert()函数处理。
整个函数中,没有对文件扩展名进行验证。
上传后没有更改文件名,使用默认的文件路径。
文件目录没有做有效的访问控制,如用 .htaccess控制不能直接访问。导致可以通过路径直接访问上传的php文件。
二、漏洞测试
POC:
登陆后台后,来到文件页面/textpattern/index.php?event=file
能成功上传php文件。
Php文件中的内容:<?php phpinfo(); ?>
然后打开上传文件路径/files/test.php