NewReportingTemplate Example
NewReportingTemplate Example
Table of Contents
Filtered By 2
Scan Information 2
By Density / Grade 3
By Status 3
By Severity 3
By State 3
By Language 3
By Vulnerability 3
Top 10 Vulnerabilities 4
5 Oldest Vulnerabilities 4
Scan Results 5
SQL_Injection 5
Privacy_Violation 7
Parameter_Tampering 9
Hardcoded_password_in_Connection_String 10
Resolved Vulnerabilities 11
Categories 12
FISMA 2014 12
NIST SP 800-53 12
Vulnerability Details 14
SQL_Injection 14
Privacy_Violation 14
Parameter_Tampering 14
Hardcoded_password_in_Connection_String 15
Filtered By
Severity:
Excluded: None
Result State: To Verify, Not Exploitable, Proposed Not Exploitable, Confirmed, Urgent
Excluded: None
Status: New, Recurrent, Resolved
Excluded: None
Queries: Link
Scan Information
Project Tags:
None
Scan Tags:
None
Page 2 of 15
Scan Results Overview
By Severity
Legend Density
By State
Legend Density
By Language
Density
By Vulnerability
Vulnerability Type
Page 3 of 15
SQL_Injection
0 2 0 0 0
In 1 Files
Privacy_Violation
0 0 2 0 0
In 1 Files
Parameter_Tampering
0 0 1 0 0
In 1 Files
Hardcoded_password_in_Connection
_String 0 0 1 0 0
In 1 Files
Total
0 2 4 0 0
In 1 Files
1. SQL_Injection 0 2 0 0 0
2. Privacy_Violation 0 0 2 0 0
3. Parameter_Tampering 0 0 1 0 0
4. Hardcoded_password_in_Connec 0 0 1 0 0
tion_String
1. /encode.frm 0 2 4 0 0
1. Hardcoded_p
assword_in_Con 576 days
nection_String
2. Parameter_Ta
576 days
mpering
3. Privacy_Violati
576 days
on
Page 4 of 15
Scan results (6)
SQL_Injection (Type)
Total results: 2
Description: The application's @DestinationMethod method executes an SQL query with @DestinationElement, at line @DestinationLine of
@DestinationFile. The application constructs this SQL query by embedding an untrusted string into the query without proper sanitization.
The concatenated string is submitted to the database, where it is parsed and executed accordingly. An attacker would be able to inject
arbitrary syntax and data into the SQL query, by crafting a malicious payload and providing it via the input @SourceElement; this input is
then read by the @SourceMethod method at line @SourceLine of @SourceFile. This input then flows through the code, into a query and to
the database server - without sanitization. This may enable an SQL Injection attack.
Category:
ASD STIG 4.10: APSC-DV-002540 - CAT I The application must not be vulnerable to SQL Injection.
PCI DSS v3.2.1: PCI DSS (3.2.1) - 6.5.1 - Injection flaws - particularly SQL injection
MOIS(KISA) Secure Coding 2021: MOIS(KISA) Verification and representation of input data
Result 1 of 2
High Link Recurrent To Verify Similarity Id: -1686050849 Found First: 14 Jan, 2024 Found Last: 14 Jan, 2024
First Scan ID: 427b4005-31c6-4948-be8a-dc24c885bdd9
Source Destination
Code Snippets
42 password = txtPassword.Text
Page 5 of 15
Result 2 of 2
High Link Recurrent Not Exploitable Similarity Id: 1293969900 Found First: 14 Jan, 2024 Found Last: 14 Jan, 2024
First Scan ID: 427b4005-31c6-4948-be8a-dc24c885bdd9
Source Destination
Code Snippets
41 user_name = txtUserName.Text
Page 6 of 15
Privacy_Violation (Type)
Total results: 2
Description: Method @SourceMethod at line @SourceLine of @SourceFile sends user information outside the application. This may
constitute a Privacy Violation.
Category:
Result 1 of 2
Medium Link Recurrent To Verify Similarity Id: 1551899440 Found First: 14 Jan, 2024 Found Last: 14 Jan, 2024
First Scan ID: 427b4005-31c6-4948-be8a-dc24c885bdd9
Source Destination
Code Snippets
42 password = txtPassword.Text
48 txtQuery.Text = query
Page 7 of 15
Result 2 of 2
Medium Link Recurrent To Verify Similarity Id: -762430504 Found First: 14 Jan, 2024 Found Last: 14 Jan, 2024
First Scan ID: 427b4005-31c6-4948-be8a-dc24c885bdd9
Source Destination
Code Snippets
17 txtQuery.Text = query
Page 8 of 15
Parameter_Tampering (Type)
Description: Method @SourceMethod at line @SourceLine of @SourceFile gets user input from element @SourceElement. This input is later
concatenated by the application directly into a string variable containing SQL commands, without being validated. This string is then used
in method @DestinationMethod to query the database @DestinationElement, at line @DestinationLine of @DestinationFile, without any
additional filtering by the database. This could allow the user to tamper with the filter parameter.
Category:
ASD STIG 4.10: APSC-DV-002560 - CAT I The application must not be subject to input handling vulnerabilities.
Result 1 of 1
Medium Link Recurrent To Verify Similarity Id: 1433408755 Found First: 14 Jan, 2024 Found Last: 14 Jan, 2024
First Scan ID: 427b4005-31c6-4948-be8a-dc24c885bdd9
Source Destination
Code Snippets
65 p = txtP.Text
Page 9 of 15
Hardcoded_password_in_Connection_String (Type)
Description: The application contains hardcoded connection details, @SourceElement, at line @SourceLine of @SourceFile. This connection
string contains a hardcoded password, which is used in @DestinationMethod at line @DestinationLine of @DestinationFile to connect to a
database server with @DestinationElement. This can expose the database password, and impede proper password management.
Category:
ASD STIG 4.10: APSC-DV-003110 - CAT I The application must not contain embedded authentication data.
Result 1 of 1
Medium Link Recurrent To Verify Similarity Id: 1095279650 Found First: 14 Jan, 2024 Found Last: 14 Jan, 2024
First Scan ID: 427b4005-31c6-4948-be8a-dc24c885bdd9
Source Destination
Code Snippets
Page 10 of 15
Resolved Vulnerabilities (0)
No data to show
Page 11 of 15
Categories
Category
FISMA 2014
Category
NIST SP 800-53
Category
Category
Page 12 of 15
A1-Injection 0 2 0 0 0
Category
A2-Broken Authentication 0 0 1 0 0
A1-Injection 0 2 0 0 0
Category
A4-Insecure Design 0 0 1 0 0
A5-Security Misconfiguration 0 0 1 0 0
A3-Injection 0 2 0 0 0
Category
Page 13 of 15
Vulnerability Details
The application stores and manages data in a database, by submitting a textual SQL query to the database engine for processing. The
application creates the query by simple string concatenation, embedding untrusted data. However, there is no separation between data and
code; furthermore, the embedded data is neither checked for data type validity nor subsequently sanitized. Thus, the untrusted data could
contain SQL commands, or modify the intended query. The database would interpret the altered query and commands as if they originated
from the application, and execute them accordingly. Note that an attacker can exploit this vulnerability either by modifying the URL, or by
submitting malicious data in the user input or other request fields.
General Recommendations
* Validate all untrusted data, regardless of source. Validation should be based on a whitelist: accept only data fitting a specified structure, r
ather than reject bad patterns.
* In particular, check for:
* Data type
* Size
* Range
* Format
* Expected values.
* Restrict access to database objects and functionality, according to the Principle of Least Privilege.
* Do not use dynamically concatenate strings to construct SQL queries.
* Prefer using DB Stored Procedures for all data access, instead of ad-hoc dynamic queries.
* Instead of unsafe string concatenation, use secure database components such as parameterized queries and object bindings (for e
xample, commands and parameters).
* Alternatively, an even better solution is to use an ORM library, in order to pre-define and encapsulate the allowed commands enabl
ed for the application, instead of dynamically accessing the database directly. In this way the code plane and data plane should be isolated
from each other.
* Prefer using ADODB `Command` and `Parameter` objects with the `Command`'s `CommandType` property set to `adCmdStored
Proc`, to safely call a database Stored Procedure instead of dynamically executing a SQL string directly. Provide the parameters to the SP u
sing `Parameter` objects, using the `Command`'s `CreateParameter` and `Parameters.Append` methods.
General Recommendations
Page 14 of 15
General Recommendations
Generic Guidance:
* Enforce authorization checks before providing any access to sensitive data, including the specific object reference.
* Explicitly block access to any unauthorized data, especially to other users’ data.
* If possible, avoid allowing the user to request arbitrary data by simply sending a record ID. For example, instead of having the use
r send an account ID, the application should look up the account ID for the current authenticated user session.
Specific Mitigation:
* Do not concatenate user input directly into SQL queries.
* Include a user-specific identifier as a filter in the WHERE clause of the SQL query.
* Map the user input to an indirect reference, e.g. via a prepared list of allowable values.
Hardcoded database passwords expose the application to password leakage, and the database to unauthorized access. If an attacker gains
access to the source code (or can decompile the application binaries), the attacker will be able to steal the embedded passwords, and use
them to directly access the database. This would enable the attacker to steal secret information, modify sensitive records, or delete
important data. In addition, the password cannot be easily changed when required. In the eventual situation wherein it is a necessity to
update the password, a new version of the application would need to be built and deployed to production systems.
General Recommendations
Page 15 of 15