Skip to main content

Understanding XSS Attacks


Cross-Site Scripting (XSS) is a type of security vulnerability that occurs when an attacker injects malicious scripts into web content that is then viewed by other users. These scripts are executed in the context of the victim's web browser, allowing the attacker to steal information, perform actions on behalf of the victim, or manipulate the content of the web page. XSS attacks are a common and significant threat to web applications.

There are three main types of XSS attacks:
  • Stored XSS (Persistent XSS): In this type of attack, the malicious script is permanently stored on the target server, such as in a database or a forum post. When a user views the infected page, the script is executed in their browser. This can have serious consequences as the malicious code affects all users who access the infected resource. An example of a stored XSS attack could be an attacker posting a malicious script in a comment on a social media platform, which then gets displayed to all visitors who view that comment.
  • Reflected XSS: In a reflected XSS attack, the malicious script is not stored on the target server but is instead embedded in a URL or a form input. The attacker tricks a user into clicking on a crafted link or submitting a form that includes the script. When the user interacts with the link or form, the script is reflected back to the user's browser and executed. This type of attack often relies on social engineering to lure users into clicking on malicious links. For example, an attacker could send a user a link with a script as a parameter in the URL, and when the user clicks on it, the script runs in their browser.
  • DOM-based XSS: DOM-based XSS is a more complex type of XSS attack. It occurs when the web application's client-side scripts manipulate the Document Object Model (DOM) to execute a malicious script. The malicious script typically modifies the DOM dynamically on the client side, which can lead to information leakage or other malicious actions. An example of DOM-based XSS could involve an attacker manipulating a website's client-side code to inject a script that steals user data when certain conditions are met, such as when the user clicks a specific button.

Here's a simple example of a reflected XSS attack:


Suppose there is a search page on a website that takes a user's query and displays the results on the same page. The URL structure for the search results looks like this:

https://example.com/search?q=<user_query>

An attacker constructs a malicious link like this:

https://example.com/search?q=<script>alert('XSS Attack');</script>

If a user clicks on this link, the script injected by the attacker will be executed, causing an alert to pop up in the user's browser with the message "XSS Attack." This is a basic example of reflected XSS, where the malicious script is reflected back in the web page's response.


XSS attacks can have severe consequences, including data theft, session hijacking, and the potential compromise of user accounts, so it's crucial for web developers to implement security measures like input validation and output encoding to prevent these vulnerabilities.

Popular posts from this blog

Open eClass – CVE-2024-26503: Unrestricted File Upload Leads to Remote Code Execution

During an assessment, I identified a severe security vulnerability within Open eClass, an e-learning platform extensively utilized across educational institutions, notably within Greece, where it is deployed by virtually all Greek Universities and educational entities. Open eClass, developed by GUnet (Greek Universities Network), is instrumental in delivering asynchronous e-learning services. The vulnerability, cataloged under CVE-2024-26503, involves an unrestricted file upload flaw that enables remote code execution (RCE), impacting versions 3.15 and earlier of the platform. This critical security lapse presents a significant risk, potentially allowing unauthorized access and control over the system, thereby compromising the integrity and security of the educational infrastructure. Affected Versions: ●   version <=  3.15 CVSSv3.1 Base Score: 9.1 ( Critical ) CVSSv3.1 Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H Exploitation Guide The vulnerability can be exploited

How I Use Obsidian for Penetration Testing, CVE Hunting, and Studying

In the ever-evolving realm of cyber security, the tools and techniques at our disposal are as varied as the threats we aim to counteract. Among these tools, note-taking applications play a pivotal role, not just in organizing our thoughts but in streamlining our entire workflow. Today, I'm excited to share how Obsidian, a tool I embraced over two and a half years ago while preparing for my eJPT exam, has become an indispensable ally in my journey through penetration testing, CVE hunting, and continuous learning. If you're not yet familiar with Obsidian, it's a robust note-taking application that operates on a local collection of plain text Markdown files. What sets it apart is its capability to interlink ideas, forming an expansive web of knowledge that is both intuitive and comprehensive to explore. Through considerable customization, I've developed what I consider to be an ideal method for consolidating notes, insights, and projects into a unified workspace. Here'

CTF: Portfolio Walkthrough

Scenario A passionate web developer recently launched his personal portfolio website, proudly displaying his projects and sharing his thoughts through a vibrant blog. His focus on design and functionality has left glaring security holes. As his blog gains popularity, you, a skilled hacker, spot the perfect target. Your mission is clear: exploit the vulnerabilities, compromise his site, and expose his negligence. Every weakness is an opportunity, every oversight a path to control. In this CTF challenge, you are the hacker. Uncover the flaws, break through the defenses, and leave your mark on the developer’s digital pride. Welcome to "Portfolio CTF" The game is on. Good luck! You can download the OVA for the Portfolio CTF from this  link SPOILER ALERT: Do not read further if you intend to solve the CTF challenge on your own. The write-up follows below. Introduction I created this Capture The Flag (CTF) machine with dual objectives: to provide a comprehensive training ground fo