SlideShare a Scribd company logo
David Epler	Security Architect

AboutWeb
Become a Security Rockstar

with ColdFusion 2016
Agenda
• Installation	
• Secure	Profile	
• Lockdown	Guide	
• Other	Considerations	
• Updates	
• ColdFusion	Updates	
• Support	Life	Cycle	
• Security	Analyzer	
• Coding	Practices	
• Cross-site	Scripting	(XSS)	
• SQL	Injection	
• Cross-site	Request	Forgery	(CSRF)	
• Session	Management
Installation
Installation
• Ensure	ColdFusion	is

installed	with	correct	profile

for	the	environment	it	will	be	used

















https://helpx.adobe.com/coldfusion/installing/installing-the-server-configuration.html
Profiles
https://helpx.adobe.com/coldfusion/installing/understanding-coldfusion-server-profiles.html
Secure Profile
CFSCRIPTS Directory
• In	ColdFusion	2016	CFIDE	access	is	now	removed	from	the	web	server	and	is	only	
accessible	to	localhost	on	port	8500	
• Following	directories	are	now	contained	in	cf_scripts	
• CFIDE/scripts	
• CFIDE/classes	
• CFIDE/cfclient
Lockdown Guide
• Lockdown	guide	absolutely	needs	to	be	used	for	any	public	facing	ColdFusion	
Server	
• Guide	released	for	each	version	of	ColdFusion	since	9	
• ColdFusion	10	
https://www.adobe.com/content/dam/Adobe/en/products/coldfusion/pdfs/cf10/cf10-lockdown-guide.pdf	
• ColdFusion	11	
https://www.adobe.com/content/dam/Adobe/en/products/coldfusion/pdfs/cf11/cf11-lockdown-guide.pdf	
• ColdFusion	2016	
http://wwwimages.adobe.com/content/dam/acom/en/products/coldfusion/pdfs/coldfusion-2016-lockdown-
guide.pdf	
• Go	to	Pete’s	session	next	in	Jasmine	F	
B104	–	Bulletproof	Your	ColdFusion	Server	With	The	Lockdown	Guide
Other Considerations
• Securing	other	parts	of	the	web	stack	
• Operating	System	
• Web	Server	
• Database	Server	
• Using	additional	guidelines	
• Microsoft	Baseline	Security	Analyzer	
• CIS	Security	Benchmarks	
• DISA	STIGs	
• Other	vendor	guidelines
Updates
Updates
• Update	process	
• Always	apply	and	test	on	development	and	test/staging	environments	first	
• Update	as	quickly	and	reasonably	possible	
• Notification	of	updates	
• via	ColdFusion	Administrator	
• blogs.coldfusion.com	
• Twitter/Facebook	
• Adobe	Security	Notification	Service	
https://campaign.adobe.com/webApp/adbeSecurityNotificationsRegistration
ColdFusion Updates
Support Life Cycle
https://www.adobe.com/support/products/enterprise/eol/eol_matrix.html#63
Security Analyzer
Security Analyzer
• Integrated	into	ColdFusion	Builder	2016	to	enable	developers	to	avoid	common	
security	pitfalls	and	vulnerabilities	while	writing	ColdFusion	code	
• Highlights	the	vulnerable	code	in	the	editor	
• Classifies	the	vulnerability	type	
• Severity	level	of	the	vulnerability	
• Suggestions	on	how	to	fix	the	vulnerability	
• Export	report
Security Analyzer
• Vulnerability	Types	
• SQL	Injection	
• XSS	Attack	
• PDF	XSS	Attack	
• CSRF	Attack	
• CFLocation	Validation	
• Cookie	Validation	
• Passwords	
• File	Upload	Validation	
• Get	vs	Post	
• File	Injection
Security Analyzer
• Enterprise	Only	
• Does	not	work	in	Developer	or	Standard	Edition	
• Does	not	work	with	ColdFusion	built	into	ColdFusion	Builder	
• ColdFusion	Server	2016	needs	to	be	installed	with	Developer	Profile	
• RDS	is	required	
• Need	access	to	port	8500	or	
• Create	virtual	mapping	for	/CFIDE	and	modify	uriworkermap.properties	for	given	connector	to	
remove	!	in	front	of	/CFIDE/*	=	cfusion	
• Keep	update	versions	of	ColdFusion	and	ColdFusion	Builder	in	sync	
• Communication	changed	between	Release,	Update	1,	and	Update	2	
• Updates	improve	detection	cases
Security Analyzer Workflow
Security Analyzer

Demo
Coding Practices
Coding Practices
• Just	upgrading	to	latest	version	will	not	secure	your	code	
• Need	to	use	language	enhancements	introduced	since	ColdFusion	10	
• Reviewing	code	in	use	
• Training	developers	to	use	more	secure	coding	practices	
• Security	best	practices	change	over	time
Cross Site Scripting (XSS)
• Enables	attackers	to	inject	client-side	script	into	web	pages	
• Session	Hijacking	
• Phishing	for	passwords	or	other	info	
• Several	types	
• Persistent	(Stored)	
• Non-Persistent	(Reflected)	
• DOM-based
Cross Site Scripting (XSS)
Cross Site Scripting (XSS)
• Old	encoding	functions	
Context Example
HTML <p>Hi	#htmlEditFormat(url.name)#</p>
HTML	Attribute <div	id="#htmlEditFormat(url.name)#"	/>
JavaScript
<script>x='#jsStringFormat(url.name)#’</script>

<a	onmouseover=“foo(#jsStringFormat(url.name)#)"/>
CSS <div	style="font-family:	#form.fontname#"	/>
URL <a	href=“index.cfm?id=#urlEncodedFormat(cookie.id)#"	/>
Cross Site Scripting (XSS)
• New	OWASP	ESAPI	encoders	available	in	ColdFusion	10+	
• Replace	htmlEditFormat,	jsStringFormat,	and	urlEncodedFormat
Context Example
HTML <p>Hi	#encodeForHTML(url.name)#</p>
HTML	Attribute <div	id="#encodeForHTMLAttribute(url.name)#"	/>
JavaScript
<script>x=’#encodeForJavascript(url.name)#’</script>

<a	onmouseover=“foo(#encodeForJavaScript(url.name)#)"/>
CSS <div	style="font-family:	#encodeForCSS(form.fontname)#"	/>
URL <a	href=“index.cfm?id=#encodeForURL(cookie.id)#"	/>
Cross Site Scripting (XSS)
Cross Site Scripting (XSS)
• WYSIWYG	HTML	editors	
• ColdFusion	11	added	support	HTML	Sanitization	using	OWASP	AntiSamy	
• isSafeHTML(inputString,	[policyFile],	[throwOnError])	
• getSafeHTML(inputString,	[policyFile],	[throwOnError])	
• ColdFusion’s	default	policy	based	on	Slashdot	policy	from	project	
https://code.google.com/archive/p/owaspantisamy/downloads
SQL Injection
TweetPic	from	someone	that	

did	not	responsibly	disclose	issue	

to	site	owner	that	has	SQL	Injection
SQL Injection
• Allows	attacker	to	do	any	of	the	following:	
• Download	all	data	in	database	
• Modify	or	Delete	all	data	in	database	
• Execute	stored	procedures	or	processes	in	some	cases
SQL Injection
SQL Injection – Partially Fixed
• <cfqueryparam>	was	introduced	in	ColdFusion	4.5	
• Still	missing	in	a	lot	of	old	code	and	too	many	developers	do	not	use	it
SQL Injection – Fixed
SQL Injection
• SQL	Injection	is	not	limited	to	<cfquery>	
• Stored	procedures	
• Use	<cfprocparam>	
• Do	not	use	exec	inside	<cfquery>	
• ORMExecuteQuery()	and	QueryExecute()
Cross-site Request Forgery
• Causes	a	user’s	web	browser	to	perform	an	unwanted	action	on	a	trusted	site	for	
which	the	user	is	currently	authenticated	
• Could	result	in	a	transfer	of	funds,	changing	a	password,	or	purchasing	an	item	
• Impact	vary	greatly	based	on	the	privileges	of	the	user	
• Occurs	without	knowledge	of	the	target	user,	until	the	unauthorized	transaction	
has	been	committed
Cross-site Request Forgery
• Random	Token	
• CSRFGenerateToken([key],	[forceNew])	
• Generates	a	random	token	and	stores	it	in	the	session	
• CSRFVerifyToken(token,	[key])	
• Validates	the	passed	in	token	against	the	token	stored	in	the	session	
• Must	have	session	variables	enabled
Session Management
• SessionRotate()	
• Creates	a	new	session	and	copies	session	scope	into	this	new	session,	then	invalidates	the	old	
session	
• Used	after	a	valid	login	to	prevent	session	fixation	
• SessionInvalidate()	
• Clears	session	scope	and	makes	the	current	session	identifiers	no	longer	valid	
• Only	works	with	ColdFusion	sessions	(CFID/CFToken),	does	not	work	with	JEE	
sessions	(JSESSIONID)	
• SessionRotate	for	JEE	sessions	-	http://www.petefreitag.com/item/829.cfm
One more thing
Security Analyzer Commandline
• Adobe	only	built	access	to	Security	Analyzer	through	ColdFusion	Builder
But…	
• Using	new	commandline	abilities	in	ColdFusion	2016	built	a	solution	
• Available	on	GitHub,	https://github.com/dcepler/cf-cmdline-sec-ana	
• Requires	ColdFusion	Server	2016	Update	2	or	higher	
• Allows	for	integration	of	the	Security	Analyzer	into	source	code	commit	hooks	
and	build	processes
Security Analyzer Commandline

Demo
Q&A - Thanks
• Blog:	https://www.dcepler.net	
• Email:	depler@aboutweb.com	
• Twitter:	@dcepler	
• GitHub:	https://github.com/dcepler	
Please	remember	to	complete	session	survey
Thank you!

More Related Content

PDF
Instant ColdFusion with Vagrant
PDF
Locking Down CF Servers
PDF
Securing applications
PDF
PDF
Instant ColdFusion with Vagrant
PDF
Realtime with websockets
PDF
Locking Down CF Servers
PDF
Dev objective2015 lets git together
Instant ColdFusion with Vagrant
Locking Down CF Servers
Securing applications
Instant ColdFusion with Vagrant
Realtime with websockets
Locking Down CF Servers
Dev objective2015 lets git together

What's hot (20)

PDF
Keep Applications Online
PDF
Realtime with-websockets-2015
PDF
Hidden gems in cf2016
PDF
ColdFusion builder plugins
PPTX
Load Balancing, Failover and Scalability with ColdFusion
PDF
Developing High Performance and Scalable ColdFusion Application Using Terraco...
PPTX
Workflows and Digital Signatures
PDF
Bring api manager into your stack
PDF
Super Fast Application development with Mura CMS
PDF
Expand Your ColdFusion App Power with AWS
PDF
Migration to ColdFusion 11 – making it seamless and easy anit
PPT
Restful API's with ColdFusion
PPTX
10 Reasons ColdFusion PDFs should rule the world
PPTX
Mobile Applications Made Easy with ColdFusion 11
PDF
Command Box ColdFusion Package Manager, Automation
PDF
Accessible Video Anywhere with ColdFusion an AWS
PPTX
Intro to Coldfusion
PDF
WordPress Security - 12 WordPress Security Fundamentals
PDF
Hey My Web App is Slow Where is the Problem
PDF
In The Trenches With Tomster, Upgrading Ember.js & Ember Data
Keep Applications Online
Realtime with-websockets-2015
Hidden gems in cf2016
ColdFusion builder plugins
Load Balancing, Failover and Scalability with ColdFusion
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Workflows and Digital Signatures
Bring api manager into your stack
Super Fast Application development with Mura CMS
Expand Your ColdFusion App Power with AWS
Migration to ColdFusion 11 – making it seamless and easy anit
Restful API's with ColdFusion
10 Reasons ColdFusion PDFs should rule the world
Mobile Applications Made Easy with ColdFusion 11
Command Box ColdFusion Package Manager, Automation
Accessible Video Anywhere with ColdFusion an AWS
Intro to Coldfusion
WordPress Security - 12 WordPress Security Fundamentals
Hey My Web App is Slow Where is the Problem
In The Trenches With Tomster, Upgrading Ember.js & Ember Data
Ad

Viewers also liked (20)

PDF
Api manager preconference
PDF
Building better SQL Server Databases
PDF
Developer Insights for Application Upgrade to ColdFusion 2016
PDF
Don't just pdf, Smart PDF
PDF
Crafting ColdFusion Applications like an Architect
PDF
PDF
ColdFusion in Transit action
PDF
Monetizing Business Models: ColdFusion and APIS
PDF
Security And Access Control For APIS using CF API Manager
PDF
API Economy, Realizing the Business Value of APIs
PDF
Where is cold fusion headed
PDF
Why Everyone else writes bad code
PDF
ColdFusion Keynote: Building the Agile Web Since 1995
PDF
Testing automaton
PPT
Restful services with ColdFusion
PDF
Build your own secure and real-time dashboard for mobile and web
PDF
Cold fusion Security-How to Secure Coldfusion Server
PDF
ColdFusion Features for More Modern Coding
PPTX
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
KEY
Using NoSQL MongoDB with ColdFusion
Api manager preconference
Building better SQL Server Databases
Developer Insights for Application Upgrade to ColdFusion 2016
Don't just pdf, Smart PDF
Crafting ColdFusion Applications like an Architect
ColdFusion in Transit action
Monetizing Business Models: ColdFusion and APIS
Security And Access Control For APIS using CF API Manager
API Economy, Realizing the Business Value of APIs
Where is cold fusion headed
Why Everyone else writes bad code
ColdFusion Keynote: Building the Agile Web Since 1995
Testing automaton
Restful services with ColdFusion
Build your own secure and real-time dashboard for mobile and web
Cold fusion Security-How to Secure Coldfusion Server
ColdFusion Features for More Modern Coding
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Using NoSQL MongoDB with ColdFusion
Ad

Similar to Become a Security Rockstar with ColdFusion 2016 (20)

PPTX
Upgrade to cf 2016 1
PDF
Whats new in CF10, 11, 2016
PDF
Hidden Gems in ColdFusion 2016
PPTX
Securing your web applications in CF 2016
PPT
"Running CF in a Shared Hosting Environment"
PDF
CFDJ_6-9_ALEX
PDF
ColdFusion for Penetration Testers
PDF
Hidden Gems in ColdFusion 11
PPTX
ColdFusion 11 Overview - CFSummit 2013
PPTX
ColdFusion_Code_Security_Best_Practices_NCDevCon_2015
PPT
PowerPoint Presentation
PPT
PowerPoint Presentation
PDF
Secure your Secrets and Settings in ColdFusion
PDF
Programming Coldfusion Mx 2nd Edition Rob Brooksbilson
PDF
How to Ensure You're Launching the Most Secure Website - Michael Tremante
PDF
Macromedia ColdFusion MX Development 1st Edition Eric Ladd
PDF
Architecting for scalability in cf
PPTX
Introduce Coldfusion Server
PDF
Securing Legacy CFML Code
PDF
ColdFusion 11 New Features
Upgrade to cf 2016 1
Whats new in CF10, 11, 2016
Hidden Gems in ColdFusion 2016
Securing your web applications in CF 2016
"Running CF in a Shared Hosting Environment"
CFDJ_6-9_ALEX
ColdFusion for Penetration Testers
Hidden Gems in ColdFusion 11
ColdFusion 11 Overview - CFSummit 2013
ColdFusion_Code_Security_Best_Practices_NCDevCon_2015
PowerPoint Presentation
PowerPoint Presentation
Secure your Secrets and Settings in ColdFusion
Programming Coldfusion Mx 2nd Edition Rob Brooksbilson
How to Ensure You're Launching the Most Secure Website - Michael Tremante
Macromedia ColdFusion MX Development 1st Edition Eric Ladd
Architecting for scalability in cf
Introduce Coldfusion Server
Securing Legacy CFML Code
ColdFusion 11 New Features

More from ColdFusionConference (6)

PDF
Rest ful tools for lazy experts
PDF
Herding cats managing ColdFusion servers with commandbox
PDF
Everyones invited! Meet accesibility requirements with ColdFusion
PDF
Getting started with mobile application development
PDF
Dependency Injection
PDF
ColdFusion Craftsmanship
Rest ful tools for lazy experts
Herding cats managing ColdFusion servers with commandbox
Everyones invited! Meet accesibility requirements with ColdFusion
Getting started with mobile application development
Dependency Injection
ColdFusion Craftsmanship

Recently uploaded (20)

PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Hybrid model detection and classification of lung cancer
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
project resource management chapter-09.pdf
PDF
Web App vs Mobile App What Should You Build First.pdf
PPTX
A Presentation on Artificial Intelligence
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
A Presentation on Touch Screen Technology
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Approach and Philosophy of On baking technology
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
A comparative analysis of optical character recognition models for extracting...
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Hybrid model detection and classification of lung cancer
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
project resource management chapter-09.pdf
Web App vs Mobile App What Should You Build First.pdf
A Presentation on Artificial Intelligence
Programs and apps: productivity, graphics, security and other tools
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
A Presentation on Touch Screen Technology
TLE Review Electricity (Electricity).pptx
Getting Started with Data Integration: FME Form 101
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Hindi spoken digit analysis for native and non-native speakers
Approach and Philosophy of On baking technology
Univ-Connecticut-ChatGPT-Presentaion.pdf
WOOl fibre morphology and structure.pdf for textiles
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Building Integrated photovoltaic BIPV_UPV.pdf

Become a Security Rockstar with ColdFusion 2016