CS 253 Web Security Youtube Pt2 Flashcards
What is the purpose of UI Denial-of-service attacks?
- You override the browser defaults - This is in order to make it harder to escape from the site.
- You implement scareware - Implementing threats of virus or something to make the user buy a product or trapping them.
- Trolling
How many levels are the web APIs divided in when we talk about the level of restrictions they have?
Level 0, 1, 2 and 3
What are the restrictions for Level 0 web APIs?
No restrictions. APIs can be used immediately and indiscriminately.
What are some examples of web APIs with Level 0?
DOM, CSS,
window.move()
file download
hide mouse cursor
What are the restrictions for Level 1 web APIs?
User interaction is required.
API cannot be used unless it is in response to a user’s action, like a click or a keypress.
Scrolling does not count for example.
What are some examples of web APIs with Level 1?
Element.requestFullscreen()
navigator.vibrate()
Copy text to clipboard
Speech synthesis API
window.open()
What are the restrictions for Level 2 web APIs?
User “engagement” is required.
API cannot be used until user demonstrates high engagement with a website.
What are some examples of web APIs with Level 2?
Autoplay sound
Prompt to install website to homescreen
What are the restrictions for Level 3 web APIs?
User permission is required.
API cannot be used until user grants explicit permission.
What are some examples of web APIs with Level 3?
Camera, microphone, geolocation, USB, MIDI device access.
What is tabnabbing?
Its an attack that consists in reloading the original tab after opening a new tab. This is possible because of the way window.open() works, which still points to the original tab.
When reloading that tab one can reload said tab into any given URL. This is specially useful for phishing attacks, because you can replace the previous page with an exact copy and simulate a logout scenario and showing a login form to the user.
What are some tabnabbing defenses you can set up?
- Add rel=”noopener” attribute to all a tag elements with target=”_blank” attribute
This will make window.opener to be null instead of pointing to our window.
2.Add the new HTTP header: Cross-Origin-Opener-Policy: same-origin
This makes it so the browser will use a separate OS Process to load the site.
This prevents cross-window attacks an process side-channel attacks by severing references to other browsing contexts.
What is phishing?
It is acting like a reputable entity to trick the user into divulging sensitive information such as login credentials or account information.
It is easier than attacking the security of a system directly since it consists of jus making the user give their credentials willingly.
What is Punycode?
Punycode is a representation of Unicode with the limited ASCII character subset used for internet hostnames.
Therefore a url like this:
müller-büromöbel.com
becomes thi
xn–mller-brombel-rmb4fg.
What is the advantage of using punycode?
It allows to a certain extent to help against IDN homograph attacks
What is domain typosquatting?
It consists of using a similar-looking name to an established domain to fool the user.
As the name implies this relies on typos.
For example if the target domain name is santander.com then the domain typosquatting alternatives could be:
santnder.com
sntander.com
satnander.com
santnader.coom
etc
What is an IDN homograph attack?
IDN stands for Internationalized Domain Name
An Internationalized Domain Name homograph attack consists in taking advantage of the fact that in Unicode there are a lot of codes that represent different letters but visually they look very similar to the users.
By using these other letters from other alphabets, attacker can host domain names that looks similar to the real ones and redirect the user to their own servers. Usually for phising purposes.
What can be done against IDN homograph attacks?
Browsers use puny code and as a user you can use a password manager, since the password manager won’t be fooled by the domain name.
Make sure you are connecting through https.