Skip to main content

Adobe ColdFusion

ColdFusion is a rapid web application development platform created by Adobe. It provides a server-side scripting language (CFML) and is widely used for building dynamic web applications, APIs, and enterprise solutions. ColdFusion includes built-in database integration, security features, and an application framework.

Tech Stack of ColdFusion

  • Backend: CFML (ColdFusion Markup Language), Java (ColdFusion runs on Java Virtual Machine)
  • Frontend: HTML, CSS, JavaScript
  • Database: MySQL, Microsoft SQL Server, PostgreSQL, Oracle (ColdFusion supports multiple databases via JDBC)
  • Server: Runs on Windows, Linux, and macOS; supports Adobe ColdFusion and open-source Lucee

File Structure

/coldfusion-root
│── bin/ # Executable scripts for ColdFusion server
│── config/ # Configuration files
│ ├── neo-datasource.xml # Database connection settings
│ ├── neo-runtime.xml # ColdFusion runtime configurations
│ ├── administrator.cfc # Admin settings and security configurations
│── logs/ # Log files for debugging and performance monitoring
│ ├── coldfusion-out.log # General ColdFusion server logs
│ ├── exception.log # Error logs for debugging
│ ├── scheduler.log # Logs for scheduled tasks
│── public/ # Public assets (CSS, JavaScript, images)
│── tmp/ # Temporary files and caching
│── uploads/ # User-uploaded files
│── webroot/ # Web application directory (main entry point for ColdFusion apps)
│ ├── Application.cfc # Core application settings
│ ├── index.cfm # Default homepage file
│ ├── api/ # API endpoints
│ ├── components/ # Reusable CFC components (ColdFusion Components)
│ ├── includes/ # Includes and shared templates
│── services/ # Background services and scheduled tasks
│── scripts/ # Custom scripts for automation
│── .env # Environment variables for ColdFusion instance
│── LICENSE # ColdFusion license file
│── README.md # Basic information about ColdFusion setup

Enumeration

  • Nmap scan can reveal if ColdFusion is used.
  • File Extensions: .cfm, .cfc
  • HTTP Headers may include "ColdFusion".
  • Any kind of error message displaying ColdFusion
  • Default files like index.cfm shown in above File Structure.
  • Login pages can reveal version information too.

Exploitation

  • Once we find version of Coldfusion, we can look at exploit database with searchsploit coldfusion to locate publicly known exploits.
info

Note: Exploitdb scripts are located at directory /usr/share/exploitdb/exploits/