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.cfmshown 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 coldfusionto locate publicly known exploits.
info
Note: Exploitdb scripts are located at directory /usr/share/exploitdb/exploits/