Now before we dig any deeper into how to exploit and discover vulnerabilities I like to pause and just
go back for a second and see what exactly happens when a user clicks on a certain link.
So let's say you're browsing a Web site and you click on any link on that website.
What happens.
So we have here we have the client site.
So this is your computer with the Hastey of my web site that is displayed to the user.
So this this is all loaded on your computer or on the client.
And then we have the server which contains the code that gets executed if the website is functional
and if it uses code so when you click on a link they see on a Web site or the client side part of the
page of the website will generate a request so it won't actually do any computations.
Most of the time though sometimes there is client side code and we'll see that.
But usually the client side code will generate a request which is sent to the Web site to the web server
and the web server you'll have some functional code such as Page free or Python Ruby any programming
language.
And that's most of the time that code interacts with the database gets some sort of information and
then send the information as a response to the website to the browser and the browser will display it
as well.
So the code the functional code or the computation code is usually stored on the server side.
And the way that most of these Web sites work is they generate a request they send it to the server
the server execute the request and send it back.
So when we're trying to hack into Web sites and exploit them we usually play with the request sent and
try to modify that request so that it performs some actions that would help us to gain information or
run some certain type of code that would give us a reverse connection.
Now there is two type of requests there is get requests and post requests that have an example.
So if we go here on the file inclusion you'll see that we have a variable called Page and the value
of that is include the Ph.
So right here this is a get request because we can see the values of it.
So we can see that page equals include BHB.
So this page is requesting another page to include another page called indexed or APHC.
Now we won't go into detail of what that means.
All we're concerned about is to have an example and this is the example.
So this is the variable that we're given a value for which is page and we're giving it a value of include
the Ph.
So that's a get request an example of a post request.
Is the file upload.
So if we go to the file upload when you upload something in here.
So let me just upload something.
You'll see that the URL doesn't get modified but the request is sent so the.
The image is actually uploaded on the server and all that but the or else still looks the same but the
website did send information.
So the haste and my web site did send information to the server you just didn't see the information
in here because it was sent as post instead of get so the first problem now is we can see the parser
costs we can't modify them because they're not shown here in the in the you are out in the case of get
we can modify them straight away from the R L.
Another problem is a lot of these Web sites in the future they're going to be used in security and they're
going to be used in client side code.
So if that's used then the request is actually modified before it gets sent.
So there will be filters and stuff working on the client side that will modify our code before we send
it.
So the best way of intercepting requests and so that we can see the post requests we're going to use
our proxy.