Schweitzer Fachinformationen
Wenn es um professionelles Wissen geht, ist Schweitzer Fachinformationen wegweisend. Kunden aus Recht und Beratung sowie Unternehmen, öffentliche Verwaltungen und Bibliotheken erhalten komplette Lösungen zum Beschaffen, Verwalten und Nutzen von digitalen und gedruckten Medien.
A hands-on, beginner-friendly intro to web application pentesting
In A Beginner's Guide to Web Application Penetration Testing, seasoned cybersecurity veteran Ali Abdollahi delivers a startlingly insightful and up-to-date exploration of web app pentesting. In the book, Ali takes a dual approach-emphasizing both theory and practical skills-equipping you to jumpstart a new career in web application security.
You'll learn about common vulnerabilities and how to perform a variety of effective attacks on web applications. Consistent with the approach publicized by the Open Web Application Security Project (OWASP), the book explains how to find, exploit and combat the ten most common security vulnerability categories, including broken access controls, cryptographic failures, code injection, security misconfigurations, and more.
A Beginner's Guide to Web Application Penetration Testing walks you through the five main stages of a comprehensive penetration test: scoping and reconnaissance, scanning, gaining and maintaining access, analysis, and reporting. You'll also discover how to use several popular security tools and techniques-like as well as:
Perfect for software engineers new to cybersecurity, security analysts, web developers, and other IT professionals, A Beginner's Guide to Web Application Penetration Testing will also earn a prominent place in the libraries of cybersecurity students and anyone else with an interest in web application security.
ALI ABDOLLAHI is a cybersecurity researcher with over 12 years of experience. Currently, he is the application and offensive security manager at Canon EMEA. He studied computer engineering, published articles, and holds several professional certificates. Ali is a Microsoft MVP and regular speaker or trainer at industry conferences and events.
Foreword xvii
Introduction xix
Chapter 1 Introduction to Web Application Penetration Testing 1
The Importance of Web Application Security 3
Overview of Web Application Penetration Testing 6
The Penetration Testing Process 8
Methodologies 12
Tools and Techniques 14
Reporting 16
Types of Web Application Vulnerabilities 17
Key Takeaways 25
Chapter 2 Setting Up Your Penetration Testing Environment 27
Setting Up Virtual Machines 28
Container Option 29
Kali Linux Installation 30
PentestBox 34
Installing DVWA 35
OWASP Juice Shop 40
Burp Suite 41
OWASP ZED Attack Proxy 46
WILEY Preconfigured Environment 49
Key Takeaways 49
Chapter 3 Reconnaissance and Information Gathering 51
Passive Information Gathering 52
Automating Subdomain Enumeration 61
Active Information Gathering 64
Open-Source Intelligence Gathering 77
Key Takeaways 88
Chapter 4 Cross-Site Scripting 89
XSS Categories 90
Reflected XSS 91
Stored XSS 93
Automatic User Session Hijacking 94
Website Defacement Using XSS 96
DOM-Based XSS 97
Self-XSS 98
Browser Exploitation Framework 100
XSS Payloads and Bypasses 102
XSS Mitigation Techniques 105
Reflected XSS Bypass Techniques 107
Stored XSS Bypass Technique 110
Key Takeaways 112
Chapter 5 SQL Injection 113
What Is SQL Injection? 113
Types of SQL Injection 114
Error-Based SQL Injection 117
Union-Based SQL Injection 117
Blind SQL Injection 123
SQLMap 126
SQL Injection Payloads with ChatGPT 140
SQL Injection Prevention 142
Key Takeaways 145
Chapter 6 Cross-Site Request Forgery 147
Hunting CSRF Vulnerability 149
CSRF Exploitation 149
XSS and CSRF 151
Clickjacking 152
Generating an Effective Proof of Concept Using ChatGPT 154
Tips for Developers 157
Key Takeaways 158
Chapter 7 Server-Side Attacks and Open Redirects 159
Server-Side Request Forgery 159
SSRF in Action 160
SSRF Vulnerability 162
Blind SSRF 164
Local File Inclusion 166
Remote File Inclusion 170
Open Redirect 173
Server-Side Attacks Differences 177
Security Mitigations 178
Key Takeaways 181
Chapter 8 XML-Based Attacks 183
XML Fundamentals 183
XXE Exploitation 185
Hunting XML Entry Points 187
SSRF Using XXE 192
DoS Using XXE 193
XXE Payload and Exploitation with ChatGPT 195
XML-Based Attacks Countermeasures 196
Key Takeaways 198
Chapter 9 Authentication and Authorization 201
Password Cracking and Brute-Force Attacks 205
Credential Stuffing Attack 211
Password Spraying 213
Password Spraying Using Burp Suite Intruder 214
Other Automated Tools for Password Attacks 215
JSON Web Token 223
Key Takeaways 225
Chapter 10 API Attacks 227
OWASP API Top 10 228
API Enumeration and Discovery 230
API Discovery Using ChatGPT 231
API Broken Object-Level Authorization Exploitation 235
Rate Limiting 240
API Penetration Testing Tools 242
API Security Tips 244
Key Takeaways 245
Appendix A Best Practices and Standards 247
Information Gathering 248
Configuration and Deployment Management Testing 251
Identity Management Testing 254
Authentication Testing 256
Authorization Testing 261
Session Management Testing 265
Input Validation Testing 273
Testing for Error Handling 285
Testing for Weak Cryptography 286
Business Logic Testing 290
Client-Side Testing 297
Appendix B CWE and CVSS Score 307
Base Score 308
Temporal Score 308
Environmental Score 309
Appendix c Writing Effective and Comprehensive Penetration Testing Reports 311
Table of Contents (ToC) 311
Project History and Timeline 311
Scope 312
Testing Approach 312
Executive Summary 312
Industry Standard 312
Findings Table 312
Findings Details 313
Key Takeaways 315
Index 317
In today's increasingly complex online landscape, it's essential to prioritize website security to safeguard personal information. With advancing technology, hackers are becoming more sophisticated in their endeavors to compromise security measures and access private data; for example, just take a look at the report "Top data breaches and cyber attacks in 2024" (https://www.techradar.com/pro/top-data-breaches-and-cyber-attacks-in-2024). One effective method of defense is ethical hacking, which involves testing website security by attempting to uncover vulnerabilities constructively. This proactive approach, including conducting red team exercises and continuous integration/continuous deployment (CI/CD) pipeline security assessments, enables companies and organizations to identify and address cybersecurity weaknesses before malicious actors exploit them.
https://www.techradar.com/pro/top-data-breaches-and-cyber-attacks-in-2024
Hacking web applications from an attacker's perspective allows for a more thorough and accurate evaluation of the application's real-world security as it uncovers vulnerabilities that are often missed by automated tools and standard security audits. By exploiting vulnerabilities as malicious hackers would, penetration testers gain a deeper understanding of an application's actual weaknesses and uncover issues that traditional methods often overlook. For example, automated vulnerability scanning can identify surface-level security flaws but may not reveal the complex exploit sequences that a skilled attacker could utilize. This human-led, outside-in approach discovers more vulnerabilities and offers valuable insight into enhancing an application's defense against sophisticated cyberattacks. On the other hand, approaches focused solely on technical weaknesses or following best-practice guidelines often fail to replicate the tactics, techniques, and procedures of actual cybercriminal operations. For these reasons, web application penetration testing has become essential to robust security applications for every business.
Web application security contains a broad range of practices, such as static and dynamic application security testing (SAST/DAST) and software composition analysis (SCA), aimed at protecting web-based assets, including websites and their data, from threats such as hackers, malware, and misconfigured applications. Since web applications interact with users over the public Internet, they are vulnerable to security risks from threats such as hackers, malware, and misconfigured applications. Web application security is designed to protect the confidentiality, integrity, and availability of web-based assets like websites and their data.
To secure web applications, common measurements include the following:
Web applications face various security threats, such as the following:
To counter these threats, web application security solutions use strategies such as securing the development process, deploying web application firewalls, and performing regular security patching and audits. Penetration tests for web applications are important for staying ahead of evolving threats. They find problems before they can be misused, which helps lower the chances of security breaches, loss, and damage.
In this chapter, I'll discuss why web application security and penetration testing are important for all businesses. I'll start with an overview of the web penetration testing process and the techniques to use. Then, I'll discuss common web-based vulnerabilities and attacks that every penetration tester should know about.
The need to keep our online spaces safe affects every part of the Internet, not just websites. Protecting all online information equally is important, whether for websites or anything else online. Unfortunately, when hackers find a weak spot, it can cost companies a lot of money. This includes the money they have to spend to fix the problem, the money they lose because their services are down, and the trust they lose from their customers. For instance, the direct costs of remediation include repairing systems, hiring cybersecurity experts, and conducting thorough investigations. Additionally, companies face significant revenue losses during service downtimes as customers cannot access services. Moreover, the long-term impact on customer trust and brand reputation can be devastating. For example, the 2017 Equifax breach resulted in millions in fines, steep stock price drops, and irreparable damage to consumer confidence. Think about how bad it would be if the stock market went down for just an hour or someone got into a lot of customer credit card info. This shows why it's so important to keep online spaces secure. IBM's "Cost of a Data Breach Report 2023" discusses how expensive cyberattacks can be. You can access this report for free at https://www.ibm.com/reports/data-breach to see how much money these attacks can cost.
https://www.ibm.com/reports/data-breach
Businesses of all sizes now prioritize application security for several reasons. They employ security consultants, establish in-house security teams, and collaborate with third parties to assess and enhance their web application security. What was considered a luxury or limited to critical infrastructure is now standard practice for most organizations that depend on web applications.
As a web application security professional or penetration tester, it's crucial to understand how to measure the risk and impact of vulnerabilities and attacks. This understanding helps assess the potential harm these security issues may cause a web application. It's important to know about the CIA triad, a fundamental information security principle.
The CIA triad is a necessary concept in information security, covering three essential principles as illustrated in Figure 1.1.
Keeping information confidential means making sure only authorized people can access it. This stops unauthorized access, sharing, or theft.
Integrity means keeping data accurate and consistent. It acts as a protection against any unauthorized changes, tampering, or corruption.
Availability confirms that authorized entities like users can access data and resources consistently without disruptions or service denials. These three pillars are crucial for securing information systems, emphasizing the importance of protecting sensitive data, maintaining its accuracy, and ensuring access for authorized individuals.
Figure 1.1: The CIA triad
Web apps use input validation, output encoding, and transaction security techniques to ensure data accuracy and prevent unauthorized modifications. Input validation filters out malicious data before processing, output encoding ensures safe data rendering, and transaction security maintains the integrity of sensitive transactions. If data is changed without authorization, it could lose its reliability and value.
Implementing authentication, authorization, and encryption in web apps assures that only users with proper authorization can access restricted data, keeping it confidential. Without adequate access controls, sensitive data in web apps are at risk of exposure.
Using secure configuration, patch management, and denial-of-service prevention, web apps can stay up and running and available for legitimate users. This is important because if web applications go offline, it can cost businesses millions of dollars per hour and harm their reputation.
When these CIA objectives are achieved, web applications can work safely and dependably, safeguarding the interests of businesses, customers, and users. The CIA triad offers a high-level structure for companies to assess the effectiveness of their web app security measures.
Proper input validation and output encoding are important for maintaining data integrity by filtering out malicious content that could alter data. However, it can be challenging to balance the CIA triad. For instance, increasing authentication for more robust confidentiality can affect availability, while implementing encryption for better integrity could create more user friction. Web application security needs to find the right...
Dateiformat: ePUBKopierschutz: Adobe-DRM (Digital Rights Management)
Systemvoraussetzungen:
Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet – also für „fließenden” Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Adobe-DRM wird hier ein „harter” Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.Bitte beachten Sie: Wir empfehlen Ihnen unbedingt nach Installation der Lese-Software diese mit Ihrer persönlichen Adobe-ID zu autorisieren!
Weitere Informationen finden Sie in unserer E-Book Hilfe.