Skip to content

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

@Cyc1e183

Description

@Cyc1e183

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions