Introduction to Web Security | Web Security Crash Course

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hey everyone welcome to another web series which would be on web security so i talked about web security a little bit in the last month and discussed with you guys where you suggested that yes it is a good topic to cover here so i just decided to create a structured playlist a structured way so that you can at least get into web security a little bit that is just giving you a little push otherwise web security is basically a field in which you can explore a lot of stuff and you can always learn so the motive of this presentation this web series is basically just introduce you to web security what it is how it works how you can get into it and eventually what we would cover as we proceed to uh proceed towards the end of the series is we would cover vulnerabilities in oas top 10 which basically list a lot of common vulnerabilities on the web we would see how we can learn and practice web security there are a lot of great resources online in fact i'm trying to build one on code damn itself we would also see some real world exploits and hacks stuffs how you can you know make use of real world vulnerabilities in the systems so yeah that's pretty much it i am pretty excited to see everyone in this playlist if you have a little bit of interest in web security and we will cover how you can get into that pretty smoothly [Music] welcome to the second video in web security and we'll be taking things slow and basic to advanced so i just want to start off with a very basic concept a very basic thing which i really believe everyone should know and that is how the http protocol works now http protocol as we know or if you don't know about it it's basically the way websites work on internet so if you go to example.com if you go to google.com if you go to facebook instagram twitter.com whenever you end up writing a url something some website dot com in your browser what you're essentially doing is you're writing http in front of it for https which is just a secured version of http right so http is it stands for hypertext transfer protocol and because it is a protocol it basically means it's a way for machines to communicate a protocol is a set of instructions which could be used by two or more parties in order to communicate effectively right i could say that it is a la it is it could be called as language of the web not the internet the web the web is basically a small part of internet and it is an application protocol which is on layer 7 on the osi model coming to osi model it's basically um segregates the network communication into seven layers starting off from the physical layer all the way up to application layer and each layer abstracts away a lot of complexity you know a lot of mechanisms and provide in a lot of cases provide a lot of stability and abstractions as well for example at transport layer that is layer 4 we have tcp protocol and tcp protocol is used by a lot of protocols on the application layer as well http uses tcp ssh uses tcp and so on and so forth right so moving forward let's see how the http actually works right so http protocol works on the basis of something known as request response model right so a request response model means that you have to request something from the remote server in order to get a response and as i told you http right here which is on the application 7 layer 7 application protocol uses tcp which is another protocol in the transport layer a transport layer protocol handles the transport of packets from one computer to another so tcp is another protocol which is used by http right so http is built on top of tcp now why is that because tcp provides all that packet transmission and stability whereas http could focus on what you need to get what you need to transfer to the other machine right so tcp could be the core of the working and http is the actual implementation of what you need to do right so once we have that we have another protocol called udp if you have seen that in the osi model now udp is another ball game but we'll discuss it very briefly here so udp kind of works on one way model i'm not really sure if that's the right way to say it but if you're using udp that means that the origin machine that is the machine which is transmitting packets would just keep on firing packets to the um to the end machine and does not really validate whether those packets are being received or not right tcp on the other hand ensures stability and ensures that all packets reach to that other machine if they do not reach to the other machine tcp retransmits them right so it ensures that particular thing all right coming to request response model what we have is that time is not as valuable as data or let me rephrase this data actually is much more valuable in request response model for example in http protocol you do not want that your server just sends you half of the page or maybe the full page with a little bits and pieces missing in between right we need we we are okay with the fact that server takes let's say 200 milliseconds more to respond with a full response rather than um you know 200 milliseconds faster but with a broken response right so request response model means that we value data more than time um and http works with that so let's see a very simple example of a simple http request response and i'm gonna make use of a tool called netcat so netcat is a basically a tool which you can use to communicate um with the raw tcp and udp client server so what we need to do is right here let me just go back and you can see i have a php kind of server running here not really running you'll see that we have this index.php file and you see it just saves me hello world wait let me just you know just give it a new line as well all right so once we have that i'm going to start this server at port 1337 because why the hell not right so it's listening on port one three three seven and now we could just verify that if i just do localhost 1337 we get hello world right all right now this is basic the call request was basic let's do a net cat so net cat localhost 1337 and hit enter all right so at this point what's happening is that netcat established a tcp connection to this host at this particular port right so you see that we get only a single request from that girl request but no request further because we haven't sent the request yet so how do we send a request using netcat that is we have to write the http request ourselves so i'm going to write get slash which is oops get slash index.php so we want the index.php resource right and i wanted to follow http 1.1 protocol right so this is basically how http protocol works how data is transmitted how when you type google.com in your browser this is what your browser sends hit enter now once i do that this particular piece of information is sent to the server but we need more information i need to specify a host that is the host address of the resource i'm looking for so in this case it's localhost so i'm just going to go with host localhost only and i could specify more information but for now i don't need that so i'm just gonna do an enter again and it would close the connection now you're gonna see once i press enter at this particular point we got this as our response now our server said this particular thing right so this is the information for the browser and this is the content which is actually displayed on your screens right so you see that server says http 1.1 it's okay my host is this this is the date and it says that please close this connection i don't want to keep this connection alive and then some additional information which is basically just done by this php server itself right now we could just go ahead and send a garbage response and you're gonna see that we get an invalid request here in the php server which is a malformed http request right so http works on a very plain text protocol right you just need to specify the method you want method first of all then the resource you want then the protocol you want to follow then some additional information like the host and basically that's pretty much it right and some other headers if you want now coming back to our slides we're gonna see that we just made a request something like this which includes the request line first of all that is line number one then we have the header one which is host header then we can have you know other headers as well and finally we need an empty line to indicate that yep we are done and just let's just let server handle our request now now for the request line um we know that basically uh we need the request method first of all you can see that we have the get method here so you can have any of the valid request methods which the server support request uri is basically the resource you want from the server then the http version is basically um what version should the client and the server conform to while communicating and the rest of the stuff is just just some headers right so i hope this video gave you a little bit of insight in what um the hdb is and how it works and how you can actually communicate it using raw tcp sockets so just before closing off this video let me just go ahead and netcat to google as well and see what happens so i'm gonna say i want get uh the home page and follow http 1.1 and i'm just gonna say host is google.com and hit enter alright so you see that we get a nice little response like this google says that hey it's fine that you're using http 1.1 but we have moved we have moved permanently and this is the new url where you have to go notice this is www right and some other information and some html as well which basically just redirects you anyway right [Music] welcome to another video in web security in which we'll be taking a look at an attack known as slow loris attack which is based on the last video on the content which we covered in the last video so if you haven't seen that make sure you see that so in the last video we saw how http protocol works what it is and how it actually works so let's just go ahead and really quickly see once more how http protocol works so i can use netcat as the utility to actually open raw tcp sockets to any host now in this case i'm using google.com on port 80 so once i do that what you're gonna see is now i have a raw tcp socket opened and i can communicate with google.com on port 80 using http protocol so i'm just going to say that i want to get the slash that is the home resource using the http 1.1 protocol and i want to say the host is google.com and once i say that you're gonna see that google responds with the following content that it has been moved to www.google.com and finally when you visit this url it will actually redirect you to the secure version all right so once we have this particular thing working what you could see is that when i write something like this and i'm basically doing you know get slash http slash 1.1 when i hit enter this particular line right here is actually transferred to the remote server right so at this particular point the google.com host is actually waiting for me to send more data it's not that when i write everything all of that is sent at once no when i'm writing this line and when i hit enter that particular data is sent to google.com if i write host google.com hit enter again this particular line is being sent and google is now waiting for more data so i can have x header 1 as some more data x header 2 some more data so on and so forth and you can see right now google is still waiting for me to complete my request right so once i you know hit enter again then google actually parses whatever i have sent and responds me with a valid response so slow loris attack is basically um based on the falling working so in the normal http request which is just what we performed right now i send a request and the server responds right in slow loris attack it's a kind of a distributed denial of service attack it's not really ddos you can actually just dos using slow doors using a single machine as well so what this does is that it would open a lot of incomplete http requests by that what i mean is that i would just keep on you know opening sockets that is keep on opening http connections like like this one and you know i'll just keep sending some data so that it does not die out you know so i have for example this is one socket for if i open hundreds of sockets and i keep on sending you know data every let's say three or four seconds then the remote server would think that my internet connection is slow but actually what i'm doing is i'm exhausting the limit of the connections at that at that particular remote server because i'll be opening a lot of tcp connections and the remote server would be opening a lot of threads like if you're using apache as the web server then apache uses threads for handling different connections so you can exhaust the thread pool of that particular server to bring that server down right so for example let me just go ahead and right here go to my php server from the last video so we have what we have if you see you just have a simple php server which says hello world so what i'm going to do is i'm going to start this php server at right now what i do is i just go to localhost that is my same computer one two three four get slash 1.1 host one and it works just like fine right now what i'm gonna do is i'm gonna make use of this script right here which is a simple script which does exactly what i talked about like opening a lot of connections at first and then you know just keeping them alive and if i'm able to keep them alive and open a lot of connections then i could bring down the host so you can see right here i'm starting from i equal to zero to the socket options and i'm adding sockets at every connection so you can see that i have my options set up like the following so my host is localhost my port is one two three four i'm opening 2000 simultaneous connections i'm not respawning the connections which have died out right um the rate is basically how much you want to send the packets that is the interval of your you know sending the packets so i'm sending a tcp packet every um 600 milliseconds that is the rate method is the type of request you want to perform get is fine and the path is basically the path of the request right so now what happens if i run this index js what you're gonna see it starts activating sockets and right here if you focus in the area below you see that our server actually closes it right because the server goes down again let's try this one more time and run the node script again so you see that around 1000 connections the php server is unable to handle that particular so how do we know that this is different let's see what happens if i actually close the connection so right here the part which is responsible for keeping the collection of connection alive is this particular thing right so what happens if i just say socket right is a new line and that's it right and now i comment this particular piece of code which is basically um this particular piece right so we are not keeping the collection alive now so what happens if i start the php server again and run the same screen you're gonna see that now my php server is very well able to handle all the connections and it does not go down so you see it still it still lives right we could see that i could still perform a get request to this particular server and it still responds but once i try to keep the connections alive in case of the slow loris attack you're gonna see just like you saw that it basically crashes the remote server right so again there we go around a thousand connections we're gonna see our server actually goes down so this is a simple this was a simple demonstration of slow loris attack how it works and basically how um you know you could use this to exploit servers and again just make sure you use this content for educational purposes only do not pen test on any other site because that is not only illegal but would actually get you in real truck so um measures to actually prevent this is basically rate limiting the connection limit per ip that is the you know easiest way i can think of so you do not really want to allow a thousand simultaneous connections open from the same ip address right now ddos handling is something which is very different and should be left to companies like cloudflare but for simple practical preventions just rate limit your ip address for a connection limit maybe like 50 or 60 connection [Music] welcome back to another web security video in which i'll be covering this video titled as dev tools for hackers now a lot of times you would see that dev tools whether you're using chrome or firefox or any other browser basically just suffices your need a lot of times that is a lot of people i know use tools like burp suite in order to you know capture the request modify them and send the payloads again or any other you know like postman or something but you if you know about html css javascript if you're coming from a web developer background something like that then i think devtools is very very comfortable and it has a lot of tools which actually help you directly you know do a lot of stuff that you do with other pen testing http monitoring tools right so what i believe you should know as a hacker for devtools is that pretty much the console pad the sources pad and the network pad and some sort of you know application file as well so starting off with the console the console is basically the place where you can write your custom javascript and it will just execute on the behalf of the page right so whenever you're doing some sort of javascript based testing or maybe you know you want to ping an end point you just basically have to do a fetch request you know some some endpoint basically you just you can just go ahead and write your own custom request right now other fancy editors do provide you with the option of you know building these requests out of the box but you know it's it's pretty quick to just write it yourself as well if you want to right so anyway console is the scripting part we would be using it a lot of times right especially when you're when you want to ping the remote endpoints or you have to do some sort of work with javascript itself okay so next thing i want to consider is basically using the sources tabs for not only just hacking but also for debugging purposes to see if you can manipulate javascript in real time so what happens is if you go to for example the static js and let's say i select this index.min.js file it's going to open this javascript file i'm going to click on this pretty print to actually you know format it nicely now what happens if i want to change some sort of javascript execution mean while it's executing well it is completely possible and what i could do is just click on this line number right here and it will just turn you know in a different color once it does that that means that your browser would pause the execution of the page rendering when it encounters this particular line so let's just go ahead and refresh the page and see how it works all right you can see that we get a pause and debugger message right here and if i pretty print this again you know it does it itself i am paused at this particular line execution now i can go back to my console and hit you know b so now right now at this moment i'm executing code not on the behalf of this just this page but actually as if i was writing this code right here at this particular point right so we have for example let's see we have b as you know some sort of complicated object i could go ahead and set b as null right and i can resume the execution once i do that you're going to see that it crashes the javascript code execution at this line because now i cannot set the inherits property of null right so this is something you should know as well if you're working with chrome dev tools now apart from these break points you can also make them conditional so if you just right click on this you can see that you get remove break point edit break point and disable break point so if i edit this breakpoint it allows me to enter a condition which is when the browser would pause this on this breakpoint whenever this condition is true so for example i could just say you know hacker mode is true so when whenever hacker mode is true then only it will pause this condition and right now if we see window dot hacker mode is undefined that means it's false so i'll just set it to false and refresh the page and you're gonna see that we still get the execution first on this because yeah hacker mode equal equal to true because it's a condition right not an assignment so let's just do it one more time i'm gonna see if i refresh this now this does not work because you know now hacker mode was not true so it does not pause the execution so this is how basically your sources would work you can see all your break points here as well if you want and basically locate all the files which a particular website is loading from the sidebar right another interesting thing is the networks tab it is something you're going to use a lot of times so network tab basically shows you all sorts of network requests a website performs right segregated by their content types as well so most of the times you'll be either in all tabs or in js or in xhr you know stuff like that and yeah i mean you can just see the status code what it is returning once you click on the network request it's going to show you the actual http request and response not really actual all the times but in most of the cases it does show you so this is the request it sent you like this basically is just like what we discussed in the video number i don't remember exactly one or two maybe in which we discussed how tcp works so although it is https but it is still hdtp right so it follows the same protocol over a secure communication so you get a status code you get a request method you know you get the remote ip address of the website and you also can see the response header you know the kind of headers they send you know the cookies if they send anything and you can also see your request headers from your endpoint so once you do that what you want to do in a lot of cases for example for example if i'm you know just going go ahead and sign in into gmail let's do something so if i just go ahead and write something like abcdefg and you know just change my password to one two three four five and click on next you're gonna see it attempts me to log in and it shows me a challenge right because it finds my activity suspicious or some sort of thing but you can see right here we get the full form request whatever gmail is doing it's doing some serious serious encrypted stuff i don't know why they are doing this much but you know you get the idea so if you are on a simpler website you can actually uh steal the request the website is making to the endpoint and actually you know copy this particular okay so you see that right now we made a post request with the username password and stuff and the username password must be here somewhere i just can't i'm not just spending yeah so here we go so this is the captcha value and the password might be here as well somewhere encrypted so anyway the point is that you can actually just right click on this request copy and copy s fetch so once you do that what you could do is move to your console hit command key or whatever to clear the console and paste this particular request now in a lot of cases it won't look this fuzzy it would be much much cleaner but you know once you have your request copied right here you can go ahead and tweak some of the things if you want for example you know this gmail thing is a really bad example for this but anyway yeah i mean it's not it's not very good example for a post request anyway let's just bear with me so i'm just going to go go ahead and get rid of the whole body and i'm just going to say for example username is admin and password is admin right so we can do stuff like this and hit enter and you can see that it returns me a 400 error which is like you know this is not allowed not permitted whatever it is right and we can see this request again now if you want to copy this as a curl request you can do that as well curl is basically a way to perform network request using terminal so once you copy this as call request it's going to copy this as a call request obviously and you can just go ahead and paste it in terminal this is extremely useful whenever for example if you're performing a network request from the browser but now you want to perform a network request from a remote server whose who's only access you have is the terminal so i use this technique a lot of times while downloading stuff so i'll start the download from the browser i'll capture the request copy it copy it as call request go to my remote server and download it there on that particular server so that is how you know you can make it you can make use of it apart from this for the applications part you're going to see a lot of local storage and stuff here so you can inspect the local storage of the particular website and see what key value pairs it has set for example if i just go ahead and set local storage.set item key one value one and go to the sources tab uh the application tabs i can see that key one has a value one right similarly local storage uh similar to local storage there's we have session storage which you can also see if it is said in a key value pair then we have cookies as well so you can see cookies if you want to and you can actually modify these values as well just like you like you know admin true whatever it is you know gaining access to google's main servers just by just setting admin true because why the hell not right you can modify the domain this cookie targets you can modify the path this cookie targets the expiry date you know everything and the size is obviously determined by the length of your value right so you cannot obviously directly modify this so yeah i mean application tabs is good for taking a look at cookies and stuff i actually use a different extension all together called edit this cookie the reason for this is because it allows me to quickly export and import the whole json payloads of the cookies as a whole so i can just you know export the cookies directly and you know import the cookies directly as well using this particular extension so it's pretty cool right and yeah i mean that's pretty much it you would learn this stuff as you practice and you know try out the stuff with different websites see how you can become more comfortable with it you know because this is something you won't learn in a day you have to eventually get used to make use of developer tools a lot of times in order to become comfortable with the stuff so just consider this tutorial as a way of you know just letting yourself know that these things exist in a browser development environment and use them to your benefits next time you want to perform an http request in the background which is a post request fire up your dev tools go to console or maybe go to network tabs copy that particular request paste it in console and modify it and send it right so that's how it should work what encoding encryption and hashing is and what are the differences between them so let's get into it all right so starting off with encoding encoding is basically a technique for transforming the data into another format now a lot of times what you want to do is you want to transmit a data from one point to another but in case of let's say in case of web in case of web development and you know stuff involving http let's say you want to transmit an image using url now this might sound funny but how would you actually do that now you have an image in the format of png or jpeg which is a binary file and you want to transmit it transmit that particular image using a url so how would you do that well you would encode that particular binary into a different format which uses ascii character characters and you know basically characters which are allowed in the url to pass that right now encoding a lot of times is just used for transmitting data for usability and stuff and the best example for that is base64 encoding now if we see base64 encoding just like i talked about the url you see we have an image right here which is this graphtar url you can see that this is this this little image right here and if i run this code snippet we're gonna see that we get a base64 url of this particular image right now if i go ahead and copy this you're gonna see that we have this image this data section as the base64 equivalent of that particular image you can see these are all characters but they actually represent an actual image right so base64 uses 64 url safe characters only which allows you to transmit this particular thing over the wire using http using urls right so just to prove my point i'm just going to go ahead and copy this whole thing right here and i'm going to just go ahead and paste it right here in the url right you see the url says data image png which is in base64 format and this particular whole thing right now if you want to just verify the stuff what you could do is just take this url right here and i can say const image is this thing and now i could just say b to a image that is my image right so you can see not really b to a a to b image right so you can see that this is a raw image a raw png image with all the you know hex values and stuff which actually construct this right this image right here but we have safely encoded it into a different format and we can decode it back using a to b that is a publicly available scheme so encoding basically just means transmitting uh you know transforming data into a different format for various reasons of transmitting or maybe usability or any other thing right so you can see that you have mp4 files you have wmv files so these are different encodings right which which are publicly available you know how you can transform mp4 to wmv so these are all encodings coming to encryption encryption is basically for keeping your data safe right so encryption allows you to keep your data safe data is safe as in it actually makes the information which you're transmitting as garbage so once you do that what you have done is that anyone who's seeing that particular information in between of the transmission does not see anything valuable right encryption uses a key now there are different ways of encryption there's a symmetric way and there's an asymmetric way we'll come to that later on as we proceed with the series but with encoding you saw that we did not use any key whatsoever so it was a specific written format with encryption it's basically a matter of uniqueness to that particular encryption so that we have to make use of a key and the examples for encryption is aes and rsa right so once you connect to a site which is like a secure site like https site what you're basically doing is you are encrypting your traffic you're not encoding your traffic you're encrypting your traffic so anyone who's seeing your network traffic does not know what you're transmitting right so that uses a particular key and a particular algorithm for that particular encryption and two of examples of encryption are aes and rsa right more on that more on this stuff later on as we proceed then comes hashing now hashing is basically a way of validating the integrity of a file or a resource or a string or whatever it is right in a lot of cases that's what it is used for now what does that mean is that hashing is very useful when you just want to verify but you don't want to store a particular piece of information for example let's say you are creating a website where you store the usernames and passwords of people now you would never want to actually store the passwords of people in plain text because that is never going to be the case when you need to see the password or you need the user to see his or her password right user just types the password sends it to the server you're gonna hash that particular password that is you're gonna turn that particular password into a garbage value which is always predictable right and the special feature of hashing is that it's one way so you cannot get that particular password back from that particular hash think of it more like as an output to a very complicated algorithm which produces garbage for the same input same garbage for the same input or you know a linked garbage for the same input so you can always relate that yes if i put an abcd1234 in this machine i will get this this particular garbage out and you can never go back from that particular garbage to the original value right now there are of course rainbow tables and ways to crack hashing algorithms like md5 and sha1 but we'll come to that later on the purpose of hashing is to create a one-way function which encrypts not really encrypts but which basically you know turns the piece of code of information into something which is non-decryptable right some of the examples of hashing are sha1 shj-256 hsa shf 512 md5 there are a lot of hashing algorithms and we'll see a lot of them over the course of this playlist [Music] in this one we'll be taking a look at some defense mechanisms for the web security part so this is basically the part one of i guess two videos for defense mechanisms let's see how many we can create and in this one we'll be discussing user access and stuff so the basic principles for defense mechanisms is basically you have to prevent users from having unauthorized access for your web application you have to handle user input to prevent unknown behavior on your server or on other users profiles or you know any sort of page which is exposed to them and you have to monitor the application itself for you know for performing uh for performing analysis or seeing if there's any sort of attack going on or if there's any sort of mischievous activity done by any sort of user so starting with user access and this one basically it consists of authentication so authentication in authentication you have to make sure the user is who the user claims he or she is right you have to treat all the users anonymous by default anonymous is basically the lowest level of trust you can have on any user so your application by default should treat all the users as anonymous that is you should have lowest level of trust or no trust at all on any user whether it's in user submission or in user input and user action whatever it is right for improving authentication control you can also have multi-stage login that is maybe otp on email address that is one-time password on email address two-factor authentication stuff like that so that could be implemented to improve authentication now there are some fundamental flaws without authentication as well which are very commonly found on the web so for example the first one i can think of is guessing usernames with error messages and you know different sort of messages which is like one of the uh most common flaw i would say in authentication mechanisms and i'll just show you one example as well real quick after this um there are login bypasses as well for authentication systems which is whole another deal but it still happens right the most famous not really the most famous one i wouldn't say that but another one which came to my mind immediately when i uh wrote this point was the tender router login bypass which basically allowed you as any user who is connected to some sort of wi-fi to bypass the router login authentication and modify the router of configuration um basically just by immediately as an anonymous user itself so you can just google the tender router login bypass thing just google this phrase and you'll just know how this worked right but for now i want to show you the sketch getting guessing usernames with error messages thing so yeah i won't get into how or why this works but you know if i have the site it's kind of like a service i used to have before but what these guys do is for example if i enter anything you're gonna see that well the say roll number or password provided is incorrect please try again but what happens if i enter correct roll number and password is obviously incorrect and if i hit login you see that while they were coding this interface they were actually checking for roll number and password and somewhere on their back end they have the implementation if the roll number is correct and password is wrong return this message if both are wrong then return the other message and the other message had this n as small now the things like these small things like these and web security can actually help you discover a lot of possible um resources a lot of parts a lot of routes which are which should not be open which should not be open to people right so once i have discovered this flaw i can basically now validate any sort of user on the site so if i maybe just go ahead and try to log in with the admin um you see that we get a small n that means there's no user admin whatsoever so i won't waste my time brute forcing any sort of password for admin user at least right so administrator so i can basically just you know pull out a dictionary of common administrator accounts and you know just filter it down to ones which exist on the site and so on and so forth so gets get get into that stuff right so this is basically one of the flaws so moving forward the next thing we have is session management with authentication comes session management so session management allows um your server to differentiate one user from other users right so your server would be receiving multiple requests a second some are for static resources some are for um you know some are for actual data retrieval some are for authentication so on and so forth so it it allows you to differentiate one user from other and how does it do that it basically creates a session for every particular user using a token now this token is sent to the client which makes use of this token and sends it back to server on every request or on at least on the request in which he or she wants to authenticate him or her herself and that could be done by http cookies or basic auth and finally a couple of flaws with session management could be weak or predictable authentication tokens that is your tokens are basically just combination of username and password and md5 over that so that's that's a weak combination of token and maybe if you're storing session data on client side unencrypted that could be accessed by anyone who's browsing the site first case secondly anyone maybe who found a cross-site scripting attack some sort of some sort of vulnerability is able to extract data from local storage so that is also one of the flaws with session management which is pretty common so yeah that's pretty much it for this video if you liked it don't forget to subscribe thank you for watching and i'll see you then in the next one real quick if you're still watching this video make sure you comment down in the comment section i watched this video till the end also if you're not part of code dam's discord community you are missing out a lot on events which we organize on a weekly basis to code you already know the drill make sure you like the video subscribe to the channel if you haven't already and thank you so much for watching
Info
Channel: Mehul - Codedamn
Views: 20,782
Rating: undefined out of 5
Keywords: hacking, security, technology, crash course, web security, cyber security, networking, phishing, cloud, web technologies 2022, mehul mohan, codedamn, learn cybersecurity, learn programming 2022, coding for beginners, cloudsecurity, data breach, innovation, microsoft, data privacy, java, python, machine learning, artificial intelligence, internet of things, data protection, ethical hacking, information technology, cybersecurity awareness
Id: 80VviDER96I
Channel Id: undefined
Length: 46min 8sec (2768 seconds)
Published: Wed Jan 19 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.