xpressengine / xe-core

XpressEngine 1.x
https://xe1.xpressengine.com
Other
89 stars 62 forks source link

Unrestricted file upload vulnerability in Latest Release 3.3.16 /index.php?module=admin&act=dispMenuAdminSiteMap #2433

Open Cyc1e183 opened 2 years ago

Cyc1e183 commented 2 years ago

Affected version: XE before 1.11.6.

Vulnerable file: modules/menu/menu.admin.controller.php. #menu_normal_btn

Causes of vulnerability:

1638921811742

When uploading the Normal button, there is no restriction on the file suffix, which leads to any file uploading to the files directory. Since .htaccess only restricts the PHP type, uploading HTML-type files leads to stored XSS vulnerabilities. If the .htaccess configuration is improper, for example before the XE 1.11.2 version, you can upload the PHP type file to GETSHELL.

# deny access to files that may contain sensitive information
RewriteRule ^(.*/)?\.(editor|git|ht|jshint|travis) - [L,F]
RewriteRule ^(codeception(.*)\.yml|composer(.*)\.(json|lock)|package\.json)$ - [L,F]
RewriteRule ^files/(attach|config|cache/store)/.+\.(ph(p|t|ar)?[0-9]?|p?html?|cgi|pl|exe|(a|j)sp|inc)$ - [L,F]
RewriteRule ^files/(env|member_extra_info/(new_message_flags|point))/ - [L,F]

1638932924850

1638923044522

Repair suggestion: add the *html* file to the upload blacklist.