Showing posts with label vulnerability detection. Show all posts
Showing posts with label vulnerability detection. Show all posts

Mastering Network Reconnaissance: From Passive Scanning to Active Exploitation

The digital shadows whisper secrets, and the first step in any deep dive, any digital autopsy, is to map the terrain. In the realm of cybersecurity, this is reconnaissance – the art of gathering intelligence before laying a hand on the keyboard. Forget flashy exploits for a moment; true mastery begins with understanding what's out there, what ports are open, and what services are broadcasting their presence into the void. This isn't just about finding vulnerabilities; it's about comprehensively understanding an environment so you can build impenetrable defenses.

In this comprehensive guide, we'll dissect the multi-stage process of network reconnaissance, moving from the quiet, observational phase of passive scanning to the more assertive, but equally critical, active enumeration. We'll arm you with the methodologies and tools to paint a detailed picture of any network's attack surface, enabling you to identify security weaknesses before the adversaries do. This is about proactive defense, about thinking like both the hunter and the protector.

Table of Contents

Phase 1: Passive Reconnaissance - Listening to the Whispers

Before you even touch a network, you can learn an astonishing amount. Passive reconnaissance involves gathering information without directly interacting with the target system or network. Think of it as studying blueprints from afar. This method is invaluable because it's stealthy, leaving no digital footprints on the target's logs.

Key techniques include leveraging publicly available information sources (OSINT - Open-Source Intelligence). This might involve searching public DNS records, analyzing Whois data for domain ownership and contact information, examining publicly accessible file shares, or even sifting through social media and job postings for clues about technology stacks, employee names, and corporate structure. Tools like Maltego can visually connect disparate pieces of information, transforming raw data into actionable intelligence. Search engines themselves, when used with advanced operators (Google dorking), can unearth directories, sensitive files, or login portals that were inadvertently exposed.

The goal here is to build an initial map: IP address blocks, domain names, associated email addresses, and potential points of contact. It’s the foundational layer upon which all further analysis is built.

Phase 2: Active Reconnaissance - Probing the Defenses

Once we have a baseline understanding, it's time to get our hands dirty, albeit carefully. Active reconnaissance involves directly interacting with the target system. This is where we start probing. The most fundamental technique is **port scanning**.

Tools like Nmap are the Swiss Army knife for this phase. A simple Nmap scan can reveal open ports, giving us insights into the services running on a host. Different scan types offer varying levels of stealth and detail:

  • TCP SYN Scan (`-sS`): Often called a "half-open" scan, this is common and relatively stealthy. It sends a SYN packet and waits for a SYN/ACK (port open) or RST (port closed). It doesn't complete the TCP handshake, making it less likely to be logged by some services.
  • TCP Connect Scan (`-sT`): This performs a full TCP connection. It's reliable but noisy, as the full handshake is logged. Useful when SYN scans are blocked or for systems that don't respond to SYN scans.
  • UDP Scan (`-sU`): UDP is connectionless, making scans slower and less reliable. It involves sending UDP packets and waiting for an ICMP "port unreachable" message (port closed) or no response/application response (port likely open).
  • Version Detection (`-sV`): Crucial for identifying the specific service and version running on an open port, which is key to finding known vulnerabilities.
  • OS Detection (`-O`): Attempts to determine the operating system of the target host based on network stack behavior.

Other active methods include vulnerability scanning using tools like Nessus or OpenVAS, which automate the process of checking for known exploits. However, automated scanners can be noisy and may trigger Intrusion Detection Systems (IDS). Your approach should always be tailored to the target environment and your authorized scope.

Phase 3: Service and Version Detection - Identifying the Machinery

Knowing that port 80 is open is one thing; knowing it's Apache HTTP Server v2.4.41 running on Linux is another. Service and version detection are vital because vulnerabilities are often specific to particular software versions.

Nmap's `-sV` flag is the go-to for this. It sends probes to open ports and analyzes the responses from the services to determine their identity and version. This information is gold. A web server running an outdated version of Apache might be susceptible to known CVEs (Common Vulnerabilities and Exposures). An SMB service running an older version could expose you to EternalBlue-like exploits.

When performing version detection, consider the potential for fingerprinting discrepancies. Some services might deliberately obscure their version, or a misconfigured service might present conflicting information. Always cross-reference findings where possible.

Phase 4: Operating System Fingerprinting - Knowing the Core

Understanding the operating system is akin to knowing the foundation of a building. Different operating systems have distinct network stack implementations, security features, and common vulnerabilities.

Nmap's `-O` flag (OS detection) is a powerful tool here. It works by sending a series of TCP, UDP, and ICMP probes to the target and analyzing the responses. The tiny variations in how different OSes implement network protocols, handle timing, and respond to specific packet constructions allow Nmap to make an educated guess about the OS. For example, the Time To Live (TTL) value in IP headers, the TCP window size, and the presence or absence of certain IP flags can all provide clues.

However, OS fingerprinting is not foolproof. Firewalls, network address translation (NAT), and complex proxy setups can interfere with accurate detection. It's often an educated guess rather than a definitive certainty. Therefore, it's best used in conjunction with other indicators.

Phase 5: Vulnerability Identification - Pinpointing Weaknesses

With a clear picture of open ports, running services, and operating systems, the next logical step is to identify potential vulnerabilities. This phase bridges reconnaissance and exploitation.

Tools specifically designed for vulnerability scanning automate much of this process.

  • Nessus: A widely used commercial vulnerability scanner offering a vast database of known vulnerabilities.
  • OpenVAS (Greenbone Community Edition): A powerful open-source alternative.
  • Nikto: A web server scanner that checks for dangerous files/CGIs, outdated server versions, and other problems.
  • SQLMap: While primarily an exploitation tool, it can also be used in a reconnaissance capacity to identify and test for SQL injection vulnerabilities.

Beyond automated scanners, manual analysis plays a critical role. Armed with the service and version information, you can query exploit databases like Exploit-DB or public CVE databases (e.g., Mitre CVE, NVD) to find specific exploits or security advisories. This manual approach often uncovers vulnerabilities that automated scanners might miss.

Remember, the goal isn't just to find a vulnerability; it's to understand its impact and how it can be exploited. This knowledge is paramount for effective defense.

Engineer's Verdict: Is Automation the Only Path?

Automated tools are indispensable for covering ground quickly and identifying common issues. However, relying solely on scanners is like bringing a shovel to a gunfight. The most sophisticated threats, the zero-days, or the vulnerabilities arising from complex business logic flaws are rarely detected by off-the-shelf tools. True security requires a combination of automated scanning for breadth and manual, expert analysis for depth. The human element—intuition, experience, and out-of-the-box thinking—remains the most potent defense against novel attacks. Don't become a slave to the scanner; be its master.

Operator's Arsenal: Essential Tools for the Trade

  • Nmap: The undisputed king of network scanning and host discovery. Essential for port scanning, OS detection, and service version enumeration.
  • Wireshark: A powerful network protocol analyzer. Indispensable for deep packet inspection and understanding network traffic patterns when other tools fall short.
  • Metasploit Framework: While an exploitation framework, its auxiliary modules are invaluable for reconnaissance tasks, including scanning and information gathering.
  • Maltego: For visualizing relationships between people, organizations, domains, networks, and more, pulling data from hundreds of sources.
  • Burp Suite (Community/Professional): Primarily a web application security testing tool, but its proxy capabilities and scanner can reveal a lot about web server configurations and potential vulnerabilities.
  • Shodan/Censys: Search engines for Internet-connected devices. They scan the entire internet, indexing banners and metadata, providing a unique perspective on exposed services.
  • Kali Linux / Parrot Security OS: Distributions pre-loaded with a wide array of penetration testing and security auditing tools, including most of those mentioned above.

For those serious about mastering these techniques, consider pursuing certifications like the CompTIA Security+ for foundational knowledge or the Offensive Security Certified Professional (OSCP) for hands-on, practical skills in penetration testing, which heavily relies on effective reconnaissance. Studying comprehensive guides like "The Hacker Playbook" series or "Penetration Testing: A Hands-On Introduction to Hacking" can also accelerate your learning curve.

Defensive Workshop: Hardening Your Network Perimeter

The best defense is a robust offense—meaning, understand how attackers probe so you can block them. Here’s how to strengthen your network against common reconnaissance techniques:

  1. Implement a Strict Firewall Policy: Configure firewalls to deny all traffic by default and explicitly allow only necessary ports and protocols. Regularly audit firewall rules.
  2. Minimize Network Service Exposure: Only run services that are absolutely required. Disable or uninstall unnecessary services.
  3. Use Intrusion Detection/Prevention Systems (IDS/IPS): Deploy IDS/IPS solutions to detect and block port scanning and other reconnaissance activities. Tune them to minimize false positives.
  4. Regularly Patch Systems and Services: Keep all software, especially network-facing services (web servers, mail servers, databases), updated to the latest stable versions. Automate patching where feasible.
  5. Network Segmentation: Divide your network into smaller, isolated segments. This limits the lateral movement of an attacker and contains the blast radius of a compromise.
  6. Disable or Obscure OS Fingerprinting Clues: While challenging, some OS-level network tuning can make precise OS detection more difficult for attackers.
  7. Log Management and Monitoring: Collect and centrally store network and system logs. Monitor these logs for unusual activity, such as repeated failed connection attempts or scans from unexpected IP addresses.
  8. Limit Publicly Available Information: Be mindful of information shared publicly about your infrastructure. Conduct periodic OSINT checks on your own organization.

Implementing these steps doesn't make you invincible, but it significantly raises the bar for attackers, making your network a less attractive target.

Frequently Asked Questions

Q1: Is passive reconnaissance truly undetectable?

While significantly stealthier than active methods, some passive techniques can still leave traces, especially when interacting with external services that log requests (e.g., DNS lookups, API calls). However, direct interaction with the target network is avoided.

Q2: What's the ethical difference between passive and active reconnaissance?

Passive reconnaissance is generally considered ethical and legal as it uses publicly available information. Active reconnaissance, however, should *only* be performed with explicit, written authorization from the system owner. Unauthorized active scanning is illegal and unethical.

Q3: How often should I perform network reconnaissance on my own systems?

For critical systems, regular, scheduled reconnaissance (both passive and active, if authorized) is highly recommended. This should be part of a continuous security assessment process.

Q4: Can reconnaissance tools be used for malicious purposes?

Absolutely. The exact same tools and techniques used by security professionals for defense and ethical hacking can be, and are, used by malicious actors for initial information gathering before launching attacks. This underscores the importance of understanding these methods for defensive purposes.

The Contract: Uncovering Your Network's Secrets

The digital world is a sprawling metropolis of interconnected systems, each with its own pathways and vulnerabilities. For this exercise, consider a small business network you have authorized access to audit. Your contract is clear: map its external-facing attack surface.

Your challenge:

  1. Perform passive reconnaissance using OSINT techniques to identify the main domain(s) and any associated IP address ranges.
  2. Using Nmap from an external perspective (simulating an attacker), conduct a SYN scan (`-sS`) against one of the identified IP addresses.
  3. Follow up with a service version detection (`-sV`) and OS detection (`-O`) scan.
  4. Document all open ports, identified services/versions, and the determined OS.
  5. Based on your findings, identify the top two most concerning potential vulnerabilities and explain *why* they are concerning in a brief paragraph.

The clock is ticking. The system hums, unaware of your gaze. What secrets will you uncover, and how will you use that knowledge to fortify its defenses?

Bug Bounty Hunting: Mastering SQL Injection Detection on Live Websites

The digital realm is a battlefield where data is the prize and vulnerabilities are the cracks in the armor. In this intricate dance of offense and defense, SQL Injection remains a persistent specter, a timeless threat lurking in the shadows of web applications. For those who patrol the perimeters, the bug bounty hunter, mastering the art of its detection is not just a skill; it's a necessity. This isn't about exploitation; it's about understanding the anatomy of an attack to build stronger defenses. Today, we dissect the process of identifying SQL Injection on live websites, not to cause chaos, but to understand the adversary and fortify our digital citadels.

We're not just looking at code; we're looking for the whispers of insecurity, the overlooked endpoints, the parameters that betray trust. It's a meticulous process, demanding patience, a keen eye for detail, and a deep understanding of how databases and web applications communicate – and where that communication can go awry. Welcome to the dissection table. Let's bring this ghost of insecurity into the light.

Table of Contents

Introduction: The Persistent Threat of SQL Injection

SQL Injection (SQLi) is a well-established vulnerability that continues to plague web applications. Its persistence isn't due to a lack of awareness, but often stems from complexity in development, legacy systems, and the sheer volume of code that needs to be secured. For bug bounty hunters, identifying SQLi is a high-value target, but for defenders, understanding its mechanics is paramount to preventing catastrophic data breaches. This guide pivots from the attacker's perspective to a defensive mindset, focusing on how to identify these flaws through meticulous manual analysis.

Understanding SQL Injection: The Mechanism of Deception

At its core, SQL Injection occurs when an attacker can insert or "inject" malicious SQL code into an application's input fields. This input is then processed by the application and executed by the backend database. If the application doesn't properly sanitize or validate user input, the injected SQL code can manipulate the database's intended query, leading to unauthorized access, data modification, or even complete system compromise. Imagine a locked drawer where the keyhole is the input field. A normal user inserts the correct key. An attacker, however, tries to insert a shim or a pick – their malicious SQL – to jimmy the lock open.

The fundamental principle is that the application treats user-supplied data as executable code. This happens when dynamic SQL queries are constructed by concatenating strings that include user input without proper escaping or parameterization. For example, a legitimate query might look like:

SELECT * FROM users WHERE username = 'user_input';

An attacker could provide an input like `' OR '1'='1`. The resulting query becomes:

SELECT * FROM users WHERE username = '' OR '1'='1';

Since `'1'='1'` is always true, this query would return all rows from the users table, effectively bypassing authentication or revealing sensitive data.

Reconnaissance: Laying the Groundwork for Detection

Before launching any probes, a hunter must understand the terrain. In bug bounty hunting, this means thorough reconnaissance of the target web application. This phase is crucial for identifying potential entry points for SQLi.

  • Mapping the Application: Understand the site's structure, identify all accessible pages, and note down every input field, parameter, and URL endpoint. This includes GET parameters in URLs, POST data in forms, HTTP headers (like cookies, User-Agent), and even JSON payloads in APIs.
  • Identifying Data Handling Logic: Try to infer how the application interacts with its database. Does it display user data? Does it process search queries? Does it handle login credentials? These areas are prime candidates for SQLi.
  • Technology Stack Identification: While not always definitive, identifying the underlying technologies (e.g., PHP, Node.js, ASP.NET, specific database systems like MySQL, PostgreSQL, SQL Server) can provide hints about common vulnerability patterns and injection syntaxes. Tools like Wappalyzer can be invaluable here.

The goal is to create a detailed map of the application's attack surface, pinpointing areas where user input is processed and potentially interacts with a database.

Manual Detection Techniques: The Art of Probing

Automated scanners can be noisy and often miss subtle vulnerabilities. Manual testing is where the real art of detection lies. It requires a methodical approach and a deep understanding of SQL syntax and database behavior.

1. Error-Based SQLi:

This technique relies on the application returning detailed database errors to the user. Attackers inject SQL syntax errors to trigger these verbose error messages, which can reveal information about the database structure, table names, and column names.

  • Test Injection Characters: Introduce common SQL metacharacters like single quote (`'`), double quote (`"`), semicolon (`;`), and arithmetic operators (`+`, `-`, `*`, `/`) into input parameters.
  • Observe Application Responses: Look for changes in the application's response. Are there new error messages? Does the page structure change? Does the response time increase significantly? Any deviation from the norm is a potential signal.
  • Example Probe: If a URL parameter is `id=123`, try `id=123'` or `id=123"`. If an error message like "Unclosed quotation mark" or "Syntax error near..." appears, it's a strong indicator.

2. Boolean-Based Blind SQLi:

When error messages are suppressed, attackers use conditional statements that return different results based on whether the injected SQL condition is true or false. The attacker observes the difference in the application's response (e.g., content, HTTP status code) to infer the truthfulness of their injected condition.

  • Injecting Conditional Logic: Append logical operators like `AND 1=1` (expected to be true) and `AND 1=2` (expected to be false) to parameters.
  • Analyze Content Differences:
    • id=123 AND 1=1 -> Returns the normal page content.
    • id=123 AND 1=2 -> Returns a different page, or no content, or an error.
    The difference confirms that the input is being processed as SQL logic.

3. Time-Based Blind SQLi:

This is the most stealthy technique, used when neither errors nor Boolean logic can be reliably detected. It involves injecting SQL commands that cause a time delay (e.g., `SLEEP()`, `WAITFOR DELAY`) if a certain condition is met. The attacker measures the response time to determine if the condition was true.

  • Injecting Delay Functions: Use database-specific delay functions.
    • MySQL: `AND SLEEP(5)`
    • SQL Server: `; WAITFOR DELAY '0:0:5' --`
    • PostgreSQL: `AND pg_sleep(5)`
  • Measure Response Time: If appending `AND SLEEP(5)` to a parameter causes the response to take approximately 5 seconds longer than usual, it indicates that the injected condition was true.

4. UNION-Based SQLi:

This method is used when the application reflects query results directly on the page. Attackers use the `UNION` operator to combine the results of their injected query with the results of the original query, allowing them to extract data from other tables.

  • Determine Column Count: Inject `ORDER BY` clauses to find the number of columns the original query returns.
    • id=123 ORDER BY 1--
    • id=123 ORDER BY 2--
    • ... until an error occurs. The previous number is the column count.
  • Determine Data Types: Use `UNION SELECT NULL, NULL, ...` to identify which columns can accommodate string data for exfiltration.
  • Extract Data: Once column count and types are known, inject `UNION SELECT column_name, NULL, ... FROM malicious_table --` to retrieve data.

Leveraging Tools Defensively: Burp Suite and Beyond

While this guide emphasizes manual techniques, tools are essential force multipliers. However, the key is to use them defensively – to automate the *detection* process, not the exploitation.

  • Burp Suite Professional: This is the linchpin for many web application security assessments.
    • Proxy: Intercepts and analyzes all HTTP/S traffic between your browser and the target application, allowing you to view requests and responses in detail.
    • Intruder: A highly configurable tool for automating custom attacks. You can use it to fuzz parameters with payloads designed to detect SQLi. Set up attack types (sniper, battering ram, etc.) and carefully craft your payload lists (e.g., using SecLists for SQLi payloads).
    • Scanner: While its primary function is scanning, understanding *how* Burp Scanner detects vulnerabilities can inform your manual testing. Configure its checks to be less aggressive for live testing if necessary, and scrutinize its findings.
  • SQLMap: While primarily an exploitation tool, understanding SQLMap's capabilities is vital for defenders. It automates the detection and exploitation of SQLi. Knowing the types of tests SQLMap performs can help you anticipate them and build better defenses. For ethical testing, use it judiciously and with explicit permission.
  • Custom Scripts: Python with libraries like `requests` and `BeautifulSoup` can be used to build custom scripts for specific fuzzing or data extraction tasks, tailored to the application's unique behavior.

The defensive use of these tools means employing them to systematically test hypotheses, not blindly running automated scans and hoping for a hit. It’s about using them to augment your understanding and accelerate your search for weaknesses.

Case Study Thinking: Mimicking the Attack for Defense

Consider a hypothetical scenario: A job application portal allows users to search for jobs using a keyword parameter. A typical request might be `www.examplejobs.com/search?keyword=developer`. As a defender or bug bounty hunter aiming to secure this portal, you'd think:

  1. Hypothesis: The `keyword` parameter is likely passed into a SQL query to fetch job listings. It might not be properly sanitized.
  2. Testing Goal: Determine if `keyword` is vulnerable to SQLi.
  3. Probe 1 (Error-Based): Append a single quote: `keyword=developer'`. Observe the response. Does it return a database error? If yes, we have a strong lead.
  4. Probe 2 (Boolean-Based): If no errors, try conditional logic: `keyword=developer' AND 1=1 --` and `keyword=developer' AND 1=2 --`. Does the content change between these two? If yes, Boolean-based blind SQLi is possible.
  5. Probe 3 (Time-Based Blind): If no content change, try injecting a delay: `keyword=developer' AND SLEEP(5) --`. Does the response take 5 seconds longer? If so, time-based blind SQLi is likely.
  6. Probe 4 (UNION-Based): If the application reflected data, try determining column count and types using `ORDER BY` and `UNION SELECT NULL, ...` to extract data.

By thinking like an attacker, you can systematically test the application's resilience. If any of these probes yield positive results, it's a vulnerability that needs immediate attention.

Mitigation and Prevention: Building the Walls

For developers and system administrators, the ultimate goal is prevention. Understanding how SQLi is detected directly informs how it can be prevented:

  • Parameterized Queries (Prepared Statements): This is the gold standard. Instead of concatenating strings, use placeholders in your SQL queries, and then pass user input as separate parameters. The database driver ensures that the input is treated strictly as data, not executable code.
  • Input Validation: Sanitize and validate all user input rigorously. Whitelist allowed characters and formats where possible. Reject any input that doesn't conform.
  • Least Privilege Principle: Ensure the database account used by the web application has only the minimum necessary privileges. It should not be able to drop tables, access administrative functions, or query sensitive system tables unless absolutely required.
  • Web Application Firewalls (WAFs): While not a foolproof solution, a well-configured WAF can detect and block common SQLi attack patterns before they reach the application. However, it should be seen as a supplementary defense, not a primary one.
  • Regular Security Audits & Code Reviews: Proactively hunt for vulnerabilities in your own code. Static Application Security Testing (SAST) and Dynamic Application Security Testing (DAST) tools, combined with manual code reviews, are essential.

The most effective defense is a secure development lifecycle where security is considered from the outset.

Engineer's Verdict: The True Cost of Insecure Code

SQL Injection is not a sophisticated exploit; it's a fundamental breakdown in secure coding practices. The time and resources spent on patching vulnerabilities after a breach far outweigh the initial investment in secure development. Automated scanners have their place, but the nuance required to find sophisticated blind SQLi or logic flaws necessitates skilled manual analysis. Relying solely on automated tools is like bringing a knife to a gunfight – you might get lucky, but you’re likely outmatched. For developers, embracing parameterized queries is non-negotiable. For security professionals and bug bounty hunters, understanding these techniques is your license to operate in the digital shadows, identifying weaknesses before they are exploited by less scrupulous actors.

Operator's Arsenal: Essential Tools and Knowledge

To effectively hunt SQL Injection, a robust toolkit and deep understanding are indispensable:

  • Web Application Proxy: Burp Suite Professional is the industry standard. Its ability to intercept, analyze, and manipulate traffic is unparalleled. While the Community Edition offers a good starting point, the Professional version unlocks critical features for efficient hunting.
  • Automated Fuzzing/Scanning: SQLMap is indispensable for confirming and exploiting SQLi, but its detection capabilities are also potent. For broader fuzzing, consider tools like ffuf or custom Python scripts using the requests library.
  • Payload Lists: Curated lists of SQLi payloads are critical. Resources like SecLists on GitHub provide extensive collections for various injection types and database systems.
  • Browser Developer Tools: Essential for inspecting requests, responses, and DOM manipulation in real-time.
  • Documentation: Deep knowledge of SQL syntax, database-specific functions (SLEEP(), WAITFOR DELAY, @@version), and common web application frameworks is paramount.
  • Bug Bounty Platforms: Platforms like HackerOne and Bugcrowd provide the structured environments to apply these skills ethically and get rewarded. Understanding their programs and scope is part of the hunt.

Frequently Asked Questions

What is SQL Injection?

SQL Injection (SQLi) is a web security vulnerability that allows attackers to interfere with the queries that an application makes to its database. It generally allows an attacker to view data they are not permitted to retrieve, to interact with data as though they were a database administrator, and sometimes to issue commands or access file system or operating system level access on the database server.

How can I detect SQLi manually?

Manual detection involves systematically probing input parameters with special characters, conditional logic, and time delays to observe the application's responses. Techniques include error-based, Boolean-based blind, time-based blind, and UNION-based injections.

Is SQLMap ethical to use?

SQLMap itself is an ethical tool. Its ethicality depends entirely on how and where it is used. It should only be used on systems you have explicit, written permission to test. Using it on live websites without authorization is illegal and unethical.

What is the best defense against SQLi?

The most effective defense is using parameterized queries (prepared statements) for all database interactions. Additionally, robust input validation, the principle of least privilege for database accounts, and regular security audits are crucial.

Can automated scanners find all SQLi?

No. While automated scanners can detect common and straightforward SQLi vulnerabilities, they often miss more complex blind SQLi, logic-based flaws, or vulnerabilities specific to custom-built applications. Manual testing remains essential for comprehensive security assessments.

The Contract: Your SQLi Defense Challenge

Your mission, should you choose to accept it: Select a web application (an authorized practice site like OWASP Juice Shop, or a bug bounty target you have explicit permission for) and conduct a targeted manual reconnaissance specifically for SQL Injection vulnerabilities. Document at least three distinct types of SQLi you attempted to find (e.g., error-based, time-based blind, UNION-based) and the specific payloads you used. If you find a potential vulnerability, detail the exact input that triggered it and describe what makes it a risk. Even if you find nothing, describe in detail the areas you probed, your hypotheses for each, and why you believe they are currently secure (or why your probes were insufficient). Post your findings, challenges, and successful evasions in the comments below. Let's see who can build the most impenetrable defense through understanding the attack.