C836 WGU
COMPLETE
1. bounds checking: to set a limit on the amount of data we expect to receive to set aside
storage for that data
*required in most programming languages
* prevents buffer overflows
2. race conditions: A type of software development vulnerability that occurs when multiple
processes or multiple threads within a process control or share access to a particular resource,
and the correct handling of that resource depends on the proper ordering or timing of
transactions
3. input validation: a type of attack that can occur when we fail to validate the input to our
applications or take steps to filter out unexpected or undesirable content
4. format string attack: a type of input validation attacks in which certain print functions
within a programming language can be used to manipulate or view the internal memory of
an application
5. authentication attack: A type of attack that can occur when we fail to use strong
authentication mechanisms for our applications
6. authorization attack: A type of attack that can occur when we fail to use autho- rization best
practices for our applications
7. cryptographic attack: A type of attack that can occur when we fail to properly design our
security mechanisms when implementing cryptographic controls in our applications
8. client-side attack: A type of attack that takes advantage of weaknesses in the software loaded
on client machines or one that uses social engineering techniques to trick us into going along
with the attack
9. XSS (Cross Site Scripting): an attack carried out by placing code in the form of a scripting
language into a web page or other media that is interpreted by a client browser
10.XSRF (cross-site request forgery): an attack in which the attacker places a link on a web
page in such a way that it will be automatically executed to initiate
a particular activity on another web page or application where the user is currently authenticated
11.clickjacking: An attack that takes advantage of the graphical display capabilities of our
browser to trick us into clicking on something we might not otherwise
12.server-side attack: A type of attack on the web server that can target vulner- abilities such
as lack of input validation, improper or inadequate permissions, or extraneous files left on the
server from the development process
13.Protocol issues, unauthenticated access, arbitrary code execution, and privilege escalation:
Name the 4 main categories of database security issues
14.web application analysis tool: A type of tool that analyzes web pages or web-based
applications and searches for common flaws such as XSS or SQL
, C836 WGU
COMPLETE
injection flaws, and improperly set permissions, extraneous files, outdated software versions, an
many more such items
15.protocol issues: unauthenticated flaws in network protocols, authenticated flaws in
network protocols, flaws in authentication protocols
16.arbitrary code execution: An attack that exploits an applications vulnerability into allowing
the attacker to execute commands on a user's computer.
* arbitrary code execution in intrinsic or securable SQL elements
17.Privilege Escalation: An attack that exploits a vulnerability in software to gain access to
resources that the user normally would be restricted from accessing.
* via SQL injection or local issues
18.validating user inputs: a security best practice for all software
* the most effective way of mitigating SQL injection attacks
19.Nikto (and Wikto): A web server analysis tool that performs checks for many common server-
side vulnerabilities & creates an index of all the files and directories it can see on the target web
server (a process known as spidering)
20.burp suite: A well-known GUI web analysis tool that offers a free and profes- sional version;
the pro version includes advanced tools for conducting more in-depth attacks
21.fuzzer: A type of tool that works by bombarding our applications with all manner of data and
inputs from a wide variety of sources, in the hope that we can cause the application to fail or to
perform in unexpected ways
22.MiniFuzz File Fuzzer: A tool developed by Microsoft to find flaws in file-handling source code
23.BinScope Binary Analyzer: A tool developed by Microsoft to examine source code for
general good practices
24.SDL Regex Fuzzer: A tool developed by Microsoft for testing certain pat- tern-
matching expressions for potential vulnerabilities
25.good sources of secure coding guidelines: CERT, NIST 800, BSI, an orga- nization's internal
coding guidelines
26.OS hardening: the process of reducing the number of available avenues through
which our OS might be attacked
27.attack surface: The total of the areas through which our operating system might be attacked
28.6 main hardening categories: 1. Removing unnecessary software
2. Removing or turning off unessential services
3. Making alterations to common accounts
4. Applying the principle of least privilege
5. Applying software updates in a timely manner
6. Making use of logging and auditing functions
COMPLETE
1. bounds checking: to set a limit on the amount of data we expect to receive to set aside
storage for that data
*required in most programming languages
* prevents buffer overflows
2. race conditions: A type of software development vulnerability that occurs when multiple
processes or multiple threads within a process control or share access to a particular resource,
and the correct handling of that resource depends on the proper ordering or timing of
transactions
3. input validation: a type of attack that can occur when we fail to validate the input to our
applications or take steps to filter out unexpected or undesirable content
4. format string attack: a type of input validation attacks in which certain print functions
within a programming language can be used to manipulate or view the internal memory of
an application
5. authentication attack: A type of attack that can occur when we fail to use strong
authentication mechanisms for our applications
6. authorization attack: A type of attack that can occur when we fail to use autho- rization best
practices for our applications
7. cryptographic attack: A type of attack that can occur when we fail to properly design our
security mechanisms when implementing cryptographic controls in our applications
8. client-side attack: A type of attack that takes advantage of weaknesses in the software loaded
on client machines or one that uses social engineering techniques to trick us into going along
with the attack
9. XSS (Cross Site Scripting): an attack carried out by placing code in the form of a scripting
language into a web page or other media that is interpreted by a client browser
10.XSRF (cross-site request forgery): an attack in which the attacker places a link on a web
page in such a way that it will be automatically executed to initiate
a particular activity on another web page or application where the user is currently authenticated
11.clickjacking: An attack that takes advantage of the graphical display capabilities of our
browser to trick us into clicking on something we might not otherwise
12.server-side attack: A type of attack on the web server that can target vulner- abilities such
as lack of input validation, improper or inadequate permissions, or extraneous files left on the
server from the development process
13.Protocol issues, unauthenticated access, arbitrary code execution, and privilege escalation:
Name the 4 main categories of database security issues
14.web application analysis tool: A type of tool that analyzes web pages or web-based
applications and searches for common flaws such as XSS or SQL
, C836 WGU
COMPLETE
injection flaws, and improperly set permissions, extraneous files, outdated software versions, an
many more such items
15.protocol issues: unauthenticated flaws in network protocols, authenticated flaws in
network protocols, flaws in authentication protocols
16.arbitrary code execution: An attack that exploits an applications vulnerability into allowing
the attacker to execute commands on a user's computer.
* arbitrary code execution in intrinsic or securable SQL elements
17.Privilege Escalation: An attack that exploits a vulnerability in software to gain access to
resources that the user normally would be restricted from accessing.
* via SQL injection or local issues
18.validating user inputs: a security best practice for all software
* the most effective way of mitigating SQL injection attacks
19.Nikto (and Wikto): A web server analysis tool that performs checks for many common server-
side vulnerabilities & creates an index of all the files and directories it can see on the target web
server (a process known as spidering)
20.burp suite: A well-known GUI web analysis tool that offers a free and profes- sional version;
the pro version includes advanced tools for conducting more in-depth attacks
21.fuzzer: A type of tool that works by bombarding our applications with all manner of data and
inputs from a wide variety of sources, in the hope that we can cause the application to fail or to
perform in unexpected ways
22.MiniFuzz File Fuzzer: A tool developed by Microsoft to find flaws in file-handling source code
23.BinScope Binary Analyzer: A tool developed by Microsoft to examine source code for
general good practices
24.SDL Regex Fuzzer: A tool developed by Microsoft for testing certain pat- tern-
matching expressions for potential vulnerabilities
25.good sources of secure coding guidelines: CERT, NIST 800, BSI, an orga- nization's internal
coding guidelines
26.OS hardening: the process of reducing the number of available avenues through
which our OS might be attacked
27.attack surface: The total of the areas through which our operating system might be attacked
28.6 main hardening categories: 1. Removing unnecessary software
2. Removing or turning off unessential services
3. Making alterations to common accounts
4. Applying the principle of least privilege
5. Applying software updates in a timely manner
6. Making use of logging and auditing functions