1QueryParam Scanner
2 3* Version: 0.8
4* License: LGPLv3
5* Homepage: https://www.sorcerersisle.com/software/qpscanner
6* Documentation: https://docs.sorcerersisle.com/qpscanner
7* Repository: https://code.sorcerersisle.com/qpscanner.git
8* Issues: https://codeberg.org/boughtonp/qpscanner/issues
91011Description
12-----------
1314QueryParam Scanner (qpScanner) is a tool designed to identify possible SQL
15injection risks in CFML queries, by highlighting instances of unparameterised
16variables.
171819Known Issues
20------------
2122QueryParam Scanner does not work with script/function based queries, and - due
23to the dynamic nature of CFML - would require a significant overhaul to have
24any chance of producing useful output.
2526Instead, a security tool configured to scan for SQL injection attacks should
27be used to protect such software, e.g. OWASP ZAP (https://www.zaproxy.org).
282930Requirements
31------------
3233qpScanner can scan code written for any CFML engine, but itself requires
34at least ColdFusion 9 or Railo 3.x to run.
3536To run qpScanner on older CFML engines, try v0.7.3 instead - this is available
37on branch 0.7.3 or for download from https://code.sorcerersisle.com/qpscanner/tags
383940Getting Started
41---------------
4243Extract all files to a directory in your webroot, then access that directory in
44a browser.
4546Everything required is contained within the zip file; no mappings nor
47datasources need to be setup.
484950Upon accessing qpScanner you will see a simple form:
5152 Directory
53 The location of the code you wish to scan.
54 This can be either an absolute path or a mapping.
5556 Recurse?
57 Select yes if you want qpScanner to look inside sub-directories,
58 or no to only scan the files directly in the specified directory.
596061Once these are set as appropriate, press Scan and qpScanner will get to work.
6263It will look for queries with CF variables (ie: `#values_in_hashes#`) that are
64not inside a cfqueryparam tag, and - once complete - will list how many were
65found out of how many total queries, and provide a list of files and queries.
666768NOTE: QueryParam Scanner should be used *only* in your development environment,
69not on a live/public box. In addition to the security risks, it might have an
70adverse affect on performance.
717273Licensing & Credits
74-------------------
7576This project is available under the terms of the GPLv3 license.
77See license.txt to understand your rights and obligations.
7879QueryParam Scanner was created by Peter Boughton and gratefully makes
80use of the third-party software detailed below, each available
81individually under their respective licenses.
8283jQuery v1.2.6 (http://jquery.com)
84* Source: https://github.com/jquery/jquery
85* License: GPLv2 or MIT (See http://jquery.org/license)
86* Files: resources/scripts/jquery-1.2.6.min.js
8788Framework One v2.2 (http://fw1.riaforge.org)
89* Source: http://github.com/seancorfield/fw1/
90* License: Apache v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
91* Files: framework.cfc
929394/eof