11.07.2015 Views

Improving Web Application Security: Threats and - CGISecurity

Improving Web Application Security: Threats and - CGISecurity

Improving Web Application Security: Threats and - CGISecurity

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 5: Architecture <strong>and</strong> Design Review for <strong>Security</strong> 107What Do You Do with the Input?Check what your application does with its input because different types of processingcan lead to various types of vulnerabilities. For example, if you use input in SQLqueries your application is potentially vulnerable to SQL injection.Review the following questions to help you identify possible vulnerabilities:● Is your application susceptible to canonicalization issues?Check whether your application uses names based on input to make securitydecisions. For example, does it accept user names, file names, or URLs? These arenotorious for canonicalization bugs because of the many ways that the names canbe represented. If your application does accept names as input, check that they arevalidated <strong>and</strong> converted to their canonical representation before processing.●●Is your application susceptible to SQL injection attacks?Pay close attention to any input field that you use to form a SQL database query.Check that these fields are suitably validated for type, format, length, <strong>and</strong> range.Also check how the queries are generated. If you use parameterized storedprocedures, input parameters are treated as literals <strong>and</strong> are not treated asexecutable code. This is effective risk mitigation.Is your application susceptible to XSS attacks?If you include input fields in the HTML output stream, you might be vulnerable toXSS. Check that input is validated <strong>and</strong> that output is encoded. Pay close attentionto how input fields that accept a range of HTML characters are processed.AuthenticationExamine how your application authenticates its callers, where it uses authentication,<strong>and</strong> how it ensures that credentials remain secure while in storage <strong>and</strong> when passedover the network. Vulnerabilities in authentication can make your applicationsusceptible to spoofing attacks, dictionary attacks, session hijacking, <strong>and</strong> otherattacks. Table 5.2 highlights the most common authentication vulnerabilities.Table 5.2 Common Authentication VulnerabilitiesVulnerabilityImplicationsWeak passwordsThe risk of password cracking <strong>and</strong> dictionary attacks increase.Clear text credentials inconfiguration filesPassing clear text credentialsover the networkInsiders who can access the server or attackers who exploit ahost vulnerability to download the configuration file haveimmediate access to credentials.Attackers can monitor the network to steal authenticationcredentials <strong>and</strong> spoof identity.(continued)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!