Java Advanced

Java Advanced

Learn about code vulnerability, why it happens, and how to eliminate it

Select a tutorial and start sharpening your skills!

This is a free version.

Available in Full Version only

SQL Injection

SQL Injection is a type of application security vulnerability whereby a malicious user is able to manipulate the SQL statements that the application sends to the backend database server for execution. A successful SQL injection attack exposes the data of the underlying database directly to the attacker. Play and Learn...

5-8 MIN

SQL Injection
Available in Full Version only

Command Injection

A Command Injection vulnerability, when exploited by a malicious user, results in the execution of arbitrary system commands on the host operating system. Command Injection attacks are possible when an application passes unsafe user-supplied data (forms, cookies, HTTP headers, etc) to a system command. The malicious system command is run server side with the same privileges as the application. Play and Learn...

5-8 MIN

Command Injection
Available in Full Version only

Use Of Insufficiently Random Values

In this interactive tutorial, we will demonstrate how Insufficiently Random Values used in session token generation can compromise the security of a web application, and how to write code more securely to protect against this type of attacks. Note that the problem with generating weak random values is not specific to web session generation and as such, its security implications must be considered when designing any software component that may require a random number generator.

5-8 MIN

Use Of Insufficiently Random Values
Available in Full Version only

Session Fixation

Session Fixation is a type of application vulnerability where an application does not correctly renew session tokens when changing from a pre-login to post-login state. The same pre-login session token should not be used post-login, otherwise, an attacker has the potential to steal authenticated sessions of legitimate users. When a session of one user is stolen by another, it is known as a "hijacked session". Play and Learn...

5-8 MIN

Session Fixation
Available in Full Version only

Reflected XSS

Unlike Persistent XSS, with Reflected Cross-site Scripting (XSS) attacker-supplied script code is never stored within the application itself. Instead, the attacker crafts a malicious request to the application to elicit a single HTTP response by the application that contains the attacker's supplied script code. Successful attacks require victim users to open a maliciously crafted link (which is very easy to do). Play and Learn...

5-8 MIN

Reflected XSS
Available in Full Version only

Stored XSS

Persistent Cross-Site Scripting (XSS) is an application vulnerability whereby a malicious user tricks a web application into storing attacker-supplied script code which is then later served to the unsuspecting user of the application. The attacker-supplied script code runs on the client-side system of another end user of the application. This type of vulnerability is widespread and affects web applications that utilize (unvalidated) user-supplied input to generate (unencoded) application output, that is served to users. Play and Learn...

5-8 MIN

Stored XSS
Available in Full Version only

Cross Site Request Forgery

Cross-Site Request Forgery (CSRF) is an application security vulnerability that permits an attacker to force another logged-in user of the application to perform actions within that application without realizing. The classic example is Bob and Alice both being logged-in users of an online banking application, and Bob tricks Alice into making a funds transfer to Bob's account with CSRF. Importantly, in CSRF attacks the attacker does not have a direct mechanism for seeing the application's response to the victim. Play and Learn...

5-8 MIN

Cross Site Request Forgery
Available in Full Version only

Path Traversal

Directory (Path) Traversal is an application vulnerability that allows an attacker to access directories and files that are stored outside the web root folder. This type of vulnerability is found in applications that make insecure references to files based on the user-supplied input. A classic example is manipulating file location input variables with “dot-dot-slash (../)” sequences and its variations, to access arbitrary files and directories of the server's file system, such as source code or password files, or other sensitive files. Play and Learn...

5-8 MIN

Path Traversal
Available in Full Version only

Server Side Request Forgery

Server-Side Request Forgery (SSRF) allows an attacker to craft requests originating from the vulnerable server, thus bypassing the firewall and providing the attacker with a channel to use a server's authorization and authentication to perform attacks on the other servers inside the protected network. Play and Learn...

5-8 MIN

Server Side Request Forgery
Available in Full Version only

Second Order SQL Injection

Second-Order SQL Injection happens when a malicious user saves the malicious payload in the database of a server-side application, and then this saved payload is used by another server-side application in its requests to the database. A successful Second-Order SQL injection attack exposes the data of the underlying database directly to the attacker. Play and Learn...

5-8 MIN

Second Order SQL Injection