githubEdit

Backdrop CMS

Backdrop CMS is a fork of Drupal 7, designed for simplicity. Many Drupal concepts apply.

Discovery

# Generator meta tag
curl -s http://TARGET | grep -i 'backdrop'
# Look for: Backdrop CMS 1 (https://backdropcms.org)

# Nmap script detection
nmap -sC -sV TARGET
# http-generator: Backdrop CMS 1

# robots.txt common entries
curl http://TARGET/robots.txt
# /core/ /profiles/ /README.md /admin /user/login /user/register

Version Detection

# Via module .info files
curl http://TARGET/core/modules/redirect/redirect.info

# Output:
# project = backdrop
# version = 1.27.1
# timestamp = 1709862662

# Alternative locations
curl http://TARGET/core/modules/node/node.info
curl http://TARGET/core/modules/system/system.info

Username Enumeration

Login Form Enumeration

Backdrop returns different error messages for valid vs invalid usernames:

  • Invalid username: "Sorry, unrecognized username."

  • Valid username, wrong password: "Sorry, incorrect password."

Password Reset Enumeration

Note: Update form_build_id from a fresh page request. Rate limiting may kick in after too many attempts.


Important Paths

Path
Description

/?q=user/login

Login page

/?q=user/password

Password reset

/?q=admin

Admin panel

/settings.php

Database credentials

/files/config_*/active/

Configuration JSON files

/files/config_*/staging/

Staging config files

/core/modules/

Core modules directory

/modules/

Custom/contrib modules


Configuration Files

settings.php

Config Directory Enumeration


Database

Backdrop uses Drupal-style password hashing (salted stretched SHA-512).


Authenticated RCE (Module Upload)

Requires: Admin or user with module upload permissions

Automated Exploit

Reference: https://github.com/rvizx/backdrop-rce


References

  • https://backdropcms.org/

  • https://github.com/rvizx/backdrop-rce

  • https://github.com/V1n1v131r4/CSRF-to-RCE-on-Backdrop-CMS

Last updated