CS 253 Web Security Youtube Pt1 Flashcards
(223 cards)
What is the difference between a vulnerability and an exploit?
A vulnerability is a part of the site that makes it behave unexpectedly but does not allow one to insert malicious code, unlike an exploit
What reasons are there to attack a computer system?
Spam - To trick people into clicking things
Denial of service - To attack competitors or seek ransom
Infect visiting users with malware - infect one server, use it to infect hundreds of thousands of clients
Data theft - credentials, credit card numbers, intellectual property
Mine cryptocurrency
Ransomware
Political motivations
What does web security involves?
Browser security, server app security, client app security
It also involves actions to protect the user from:
- Social engineering
- Trackers (private data being leaked)
Why is web security hard?
- The web wants to provide the ability to run anyone’s code on your computer securely. Run untrusted code securely.
- Different sites may interact with each other
- Websites have a lot of low-level features (hardware access)
- There is a desire for high performance
- APIs for web browsers were not design from first principles. They have evolved
- Web has strict backwards compatibility requirements. There can be no changes that break previous versions because they could break websites.
What can websites do that constitute very high security risks?
- Download content from anywhere
- Spawn worker processes
- Open sockets to a server, or even to another user’s browser
- Display media in a huge number of formats
- Run custom code on the GPU
- Save/read data from the filesystem
What does DNS stands for?
Domain Name System
What is the Domain Name System?
A system that translates user friendly domain names into IP addresses
How does DNS querying works?
The client machine sends the domain name to the DNS server and the server responds with the corresponding IP address.
How does the DNS server works when performing a DNS query?
The client machine sends the domain name to the DNS server.
The DNS server uses the DNS Recursive Resolver to look up the answer for the domain name. It will continually perform queries to different servers asking if they have information on the domain name, until it gets a positive response.
The queried servers are called nameservers and there are multiple because one of them cannot allocate all of the existing domain names.
What is a good example of a DNS querying process?
Let’s say we try to access the url: https://www.standford.edu
The client sends the domain name (standford.edu) to the DNS Server.
The DNS Server using the DNS Recursive Resolver queries the Root Nameserver. The Root Nameserver does not have the IP Address, so it responds with the instruction to query the “.edu” Nameserver.
The DNS Recursive Resolver queries the “.edu” Nameserver. The “.edu” Nameserver does not have the IP address, so it responds with the instruction to query the “standford.edu” Nameserver
The DNS Recursive Resolver queries the “standford.edu” Nameserver. The “standford.edu” Nameserver does have the IP address, so it returns it.
The DNS Recursive Resolver return the received IP address to the Client.
What is a TLD Nameserver?
Its the nameserver that holds all instructions or addresses for a top-level domain.
Example:
.com
.org
.edu
What does the TLD in a TLD Nameserver stands for?
Top-Level Domain Nameserver
What is a top-level domain?
It is the part of the domain name after the dot that is used to indicate the type or category of a website.
Examples:
.com
.org
.edu
What does SLD stands for, regarding domain names?
Second-Level Domain
What is a second-level domain?
It is the part of the domain name before the dot that indicates the name of the website
Examples:
wikipedia.com = wikipedia
brainscape..com =- brainscape
What is a Domain Nameserver?
The Nameserver that holds the information regarding a particular domain name
What is DNS hijacking?
The attacker changes DNS records of target to point to own IP address. After this all site visitors will be directed to the web server of the attacker.
What are the vectors (places) where you DNS hijacking can occur?
- Malware changes user’s local DNS settings
- Hacked recursive DNS resolver
- Hacked router
- Hacked DNS nameserver
- Compromised user account at DNS provider
What does ISP stands for?
Internet Service Provider
Why is it easy for ISPs to sell the lists of the DNS you have queried?
Because the queries are in plaintext .
What can you do to try and avoid ISPs selling your DNS queries lists?
You can consider switching your DNS setting to use the Cloudflare server or any other provider that at least has a good privacy policy.
What do HTTP Status Codes mean in general?
1xx - Informational, you need to hold on some time
2xx - Success
3xx - Redirection
4xx - Client error
5xx - Server error
What are some well-known HTTP Success status codes?
200 - Ok - Request succeeded
204 - No Content - Request succeeded but answer is empty
206 - Partial Content - Request for specific byte range succeeded
What are some well-known HTTP Redirection status codes?
301 - Moved Permanently - Resource has a new permanent URL
302 - Found - Resource temporarily resides at a different URL
304 - Not Modified - Resource has not been modified since last cached






