Skip to content
This repository has been archived by the owner on Oct 11, 2023. It is now read-only.

boughtonp/qpscanner

Repository files navigation

QueryParam Scanner

Description

QueryParam Scanner (qpScanner) is a tool designed to identify possible SQL injection risks in CFML queries, by highlighting instances of unparameterised variables.

Known Issues

QueryParam Scanner does not work with script/function based queries, and - due to the dynamic nature of CFML - would require a significant overhaul to have any chance of producing useful output.

Instead, a security tool configured to scan for SQL injection attacks should be used to protect such software, e.g. OWASP ZAP (https://www.zaproxy.org).

Requirements

qpScanner can scan code written for any CFML engine, but itself requires at least ColdFusion 9 or Railo 3.x to run.

To run qpScanner on older CFML engines, try v0.7.3 instead - this is available on branch 0.7.3 or for download from https://code.sorcerersisle.com/qpscanner/tags

Getting Started

Extract all files to a directory in your webroot, then access that directory in a browser.

Everything required is contained within the zip file; no mappings nor datasources need to be setup.

Upon accessing qpScanner you will see a simple form:

Directory
	The location of the code you wish to scan.
	This can be either an absolute path or a mapping.

Recurse?
	Select yes if you want qpScanner to look inside sub-directories,
	or no to only scan the files directly in the specified directory.

Once these are set as appropriate, press Scan and qpScanner will get to work.

It will look for queries with CF variables (ie: #values_in_hashes#) that are not inside a cfqueryparam tag, and - once complete - will list how many were found out of how many total queries, and provide a list of files and queries.

NOTE: QueryParam Scanner should be used only in your development environment, not on a live/public box. In addition to the security risks, it might have an adverse affect on performance.

Licensing & Credits

This project is available under the terms of the GPLv3 license. See license.txt to understand your rights and obligations.

QueryParam Scanner was created by Peter Boughton and gratefully makes use of the third-party software detailed below, each available individually under their respective licenses.

jQuery v1.2.6 (http://jquery.com)

Framework One v2.2 (http://fw1.riaforge.org)

/eof