Lesson 7 of 15

Security Misconfigurations

Security misconfiguration is the most commonly found vulnerability class in web applications, arising from default credentials, unnecessary features, verbose error messages, and missing security headers. You will learn a systematic approach to identifying misconfigurations across web servers, application frameworks, and cloud environments. Many high-profile breaches have resulted from simple misconfigurations rather than sophisticated exploits.

Learning Objectives — Deep Dive

Each objective below is broken down into plain English so you know exactly what you are learning, why it matters, and what you will be able to do when you are done. Mark each one complete as you work through the lesson.

0/4
In plain English

This is about pattern recognition — training your eye to spot specific things in the wild. You are learning to look at a situation and immediately categorize it correctly. Think of it like learning to identify different types of birds: at first everything looks the same, but with practice you start seeing the distinguishing features instantly.

Why this matters

Web applications are the most common attack surface in modern security. The OWASP Top 10 vulnerabilities alone account for the majority of real-world breaches. Mastering web application security opens the door to bug bounty programs, penetration testing contracts, and application security roles.

Real-world analogy

Think of it like learning to drive. You do not need to understand how the engine works to drive safely, but knowing the basics helps you diagnose problems and avoid mistakes that could cause accidents. The same principle applies here — foundational knowledge prevents costly errors.

What you will be able to do

Apply this skill in a real lab environment, explain it clearly to a colleague or client, and use it as a building block for the more advanced techniques that come later in this course.

Beginner tip

Do not try to memorize everything at once. Read through the material once to get the big picture, then go back and work through the lab. The hands-on practice is what makes the concepts stick — passive reading alone will not get you there.

Security Misconfigurations · Objective 1 of 4

VIDEO
Loading video…
1

Test all HTTP methods

Use Burp Suite or curl to send requests to a target endpoint using every HTTP method: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, and TRACE. Start with OPTIONS to discover which methods the server advertises as allowed — the response's Allow header lists them. Then test each method individually, even those not listed in Allow, because servers sometimes accept methods they do not advertise. A common finding is that PUT or DELETE is accepted on endpoints that should be read-only, allowing an attacker to modify or delete resources without authorization.

2

Check for default credentials

Identify all administrative interfaces on the target — web admin panels, database management tools (phpMyAdmin), CMS admin pages (/wp-admin, /administrator), and network device interfaces. For each interface, attempt login with the most common default credential pairs: admin/admin, admin/password, admin/blank, root/root, and the application name as both username and password. Maintain a reference list from resources such as default-password.info and cirt.net/passwords. Default credentials are one of the most common findings in real penetration tests because administrators frequently forget to change them after initial setup.

3

Enumerate hidden paths

Run 'gobuster dir -u http://<target> -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt' to discover hidden directories and files on the web server. Pay special attention to paths such as /admin, /backup, /config, /.git, /api, and /test — these frequently contain sensitive functionality or exposed data. A .git directory accessible from the web is a critical finding because it allows an attacker to download the entire application source code using 'git clone'. Also check for backup files such as config.php.bak or database.sql that may have been left on the server.

4

Check HTTP security headers

Use curl -I http://<target> or the browser's developer tools Network tab to inspect the HTTP response headers. Check for the presence and correct configuration of security headers: Content-Security-Policy (prevents XSS), X-Frame-Options (prevents clickjacking), X-Content-Type-Options: nosniff (prevents MIME sniffing), Strict-Transport-Security (enforces HTTPS), and Referrer-Policy. Use the online tool securityheaders.com to get a graded report of a site's header configuration. Missing or misconfigured security headers are low-to-medium severity findings that are easy to document and remediate.

5

Run Nikto

Run 'nikto -h http://<target>' to perform an automated web server vulnerability scan. Nikto checks for over 6,700 potentially dangerous files and programs, outdated server software, version-specific problems, and server configuration issues. The scan typically takes 5–15 minutes and produces a list of findings with descriptions and references. Do not treat Nikto output as definitive — it produces false positives, and each finding must be manually verified before including it in a report. Use Nikto as a checklist generator rather than a definitive vulnerability scanner.