And this lecture and the next few lectures we're going to talk about a vulnerability called excess,
excess is short for a cross site scripting.
This type of vulnerability allows an attacker to inject JavaScript into a page.
So JavaScript is a programming language, and using this vulnerability, an attacker would be able to
execute code written in JavaScript and to a certain page into a website.
JavaScript is a Clydeside language, so when the code is executed, it will be executed on the client,
on the user, on the person who was browsing the Web page.
It's not going to be executed on the server.
So even if your code results into giving you a reverse shell, the shell will be coming from the user
who was browsing the page and it's not going to be coming from the website.
So any code you write in JavaScript will be exploited or will run on the target user on the people who
see the pages and it's not on the Web server.
So the Web server is only going to be used as a means of executing the code or delivering the code.
There are three main types of accessors vulnerabilities, persistent or third reflected and done based.
The third exercise excess gets stored into the database, so the code that you inject will be stored
into the database or into the page so that every time any person views that page, your code will be
executed.
And they reflected on the code will only be executed when the target user runs a specific URL crafted
or written by you.
So you'll be manipulated in some sort of URL and send it to a target.
And when they run that target, when they run that you are out, the code will be executed.
They don't based results from JavaScript code written on the client, so the code will actually be interpreted
and run on the client side without having any communication with the Web server.
This could be very dangerous because sometimes Web servers apply some sort of security infiltration
to check for excesses, but we don't based the code, never get sent to the Web server.
So the code will be interpreted and run on the Web browser without even interacting with the Web server.
And this will be present into websites that update their content without refresh.
So we've all used websites where you put your username, for example, and it loads it straight away
without having to check with the Web server, or do you put some sort of a string and it does a search
without communicating with the Web server or does something without communicating with the Web server.
So if you are able to inject into that, then this injection will not be validated.
So it will be executed straightaway and bypass all validations.