I have personal experience with three kinds of attacks
First is the DDoS attack, which stands for Distributed Denial of Service. For this attack, the attacker usually has control of a “zombie network” of computers, which he could control to send a huge amount of requests to the target, flooding the traffic and thus making the target network no longer usable. This is surprisingly simple to do, so simple that it could be demonstrated using the windows command line to sent a large amount of requests. To guard itself against these attacks, many websites nowadays have employed cloud cybersecurity services (a famous example would be Cloudflare) which distinguishes authentic requests from DDoS requests.
Second is the Phishing attack. The attacker pretends to be some authentic website or entity, but instead captures the data of the victim. Since these phishing websites often look very real, many people tend to fall victim to them without checking if the URL is authentic first. This is also not difficult to carry out, as it is very easy to copy the whole HTML and CSS code of another website, so there could be 100% resemblance to the real website. An unsuspecting victim may receive an email to “reset their password due to security risks” or “enter their credit card information” on the phishing website, and the attacker would receive their information. One of my friends received a DHL email claiming that she has a parcel to receive but has yet to pay the shipping fee. She was led to a very real looking DHL website, and was asked to pay the shipping fee through her credit card. She immediately got charged $1000 USD on her credit card after entering her credit card information.
Third is the SQL injection attack. Many web apps use SQL to query their database, and if the system if not set up well and contains vulnerability, the attacker may be able to “inject” their code annd make the system behave however they want. I have a little bit of experience learning SQL injection for myself (for academic purposes of course), so I will give a more detailed example for this sake about how SQL injection could be performed. For example, let’s pretend that there is this URL to a hospital blog: https://website.thm/blog?id=1. This is a blog website from a hospital and contains public and private pages, where private pages are only available to be seen by internal staff after they log in. From the URL, you can see that the blog entry been selected comes from the id parameter in the query string (/blog?id=1). The web application needs to retrieve the article from the database and may use an SQL statement that looks something like the following: SELECT * from blog where id=1 and private=0 LIMIT 1;
This SQL statement is looking in the blog table for an article with the id number of 1 and the private column set to 0 (0 means False), which means it’s able to be viewed by the public and limits the results to only one match. Now, SQL Injection could be introduced when the user input is passed into the database query. In this instance, the id parameter from the query string may be used directly in the SQL query.Let’s pretend article id 2 is locked as private, so the attacker cannot be view it on the website. We could now instead call the URL: https://website.thm/blog?id=2;– This would then, in turn, produce the SQL statement:SELECT * from blog where id=2;– and private=0 LIMIT 1; Since the semicolon in the URL signifies the end of the SQL statement, and the two dashes cause everything afterwards to be treated as a comment in SQL syntax, by doing this, you’re running the query:SELECT * from blog where id=2;– which will return the article with an id of 2 whether it is set to public or not. By doing this set of procedures, the attacker would now be able to see blog number 2 himself, which should normally be locked only to be seen by internal staff after log in.
SQL injections tend to be very complicated, but if successful, lead to huge an serious data and privacy breach.