Ethical › Module 14 › Lesson 2
Authorized Testing vs Random Sites
Bug bounty rules and your own DVWA/lab only.
Visual · authorized_vs_random_sites
Default lab is YOUR app or a local demo. Bug bounty only after YOU read the policy. DVWA only if YOU run it. Public copies and random sites are out.
Opening
A login form on the internet is not an invitation. Authorization is writing you actually read — or a host you own.
Lesson 1 named the app as four lanes and refused payload shopping. This lesson is the permission line those lanes sit behind. In Cyberlium wording, authorized application testing means: (1) an app YOU wrote or operate, (2) a local vulnerable lab YOU installed and bound to loopback or YOUR VM, or (3) a bug-bounty / pentest program whose policy YOU actually read — in-scope assets, out-of-scope actions, safe-harbor, rate, disclosure — before you send a single extra request. Everything else is a random site. Random includes the café portal, the school LMS, a classmate’s homework app, a public “DVWA demo” on someone else’s VPS, and a brand you like “because they should be tested.” This is original Cyberlium teaching mapped to the CEH v13 web-applications domain — not official EC-Council training, not a cert, not exam dumps. You will not scan the internet for practice apps. You will not attack a public DVWA you do not own. You will not join a bounty in spirit without opening the policy. Default for this course is YOUR app or a local demo. Next lesson is fix patterns (validation, encoding, server authZ) before anyone talks payloads. Topic 10 still holds deep SQLi/XSS. Here you write scope rules and lock them.
1. Default scope: YOUR app, localhost demo, written RoE — not “it has a form”
Module 1 already said skill does not create consent. Application testing does not get a special exception because HTTP is easy to send. If you cannot name the owner and the writing that lets you test, you do not test. YOUR project — a repo you maintain, an API you deployed to a box you control — is in default scope for mapping and for fix work. A tiny http.server or framework demo YOU start on 127.0.0.1 is in default scope for Lesson 4. A production site whose only relationship to you is “I have an account” is not in scope. Customer-of-the-service is not tester-of-the-service. Logging in as yourself and then fuzzing another tenant is still unauthorized access.
Write it in one sentence you could read to a lawyer: I test applications I own, labs I run locally, or programs whose policy I read. I do not test random sites. Original Cyberlium teaching mapped to the CEH v13 web-applications domain is not a warrant, not official EC-Council training, not a cert, not exam dumps. “I was practicing Module 14” is not a defense.
Command guide
Default scope — WHAT/WHY (not it-has-a-form)
═══ COMMANDS ═══
Command — copy this
test -f "$HOME/cyberlium-lab/ceh-roe.txt" && echo "RoE present" cat >> "$NOTES" << 'EOF' default_scope: MY app, 127.0.0.1 demo, written RoE not_scope: it has a form EOF
2. Bug bounty: the policy is the RoE — if you did not read it, you do not have a program
A public bounty is not “the company said anyone may hack us.” It is a contract-shaped page: in-scope hosts and apps, out-of-scope (often DoS, social engineering, physical, third-party SaaS, rate-limit games), data-handling rules, disclosure, and sometimes a safe-harbor paragraph that only applies if you stay inside that page. Authorized testing versus random sites means you open that page and can quote the asset and the forbidden actions before you fire a proxy. If you did not read it, you are not “on the bounty.” You are guessing. Guessing is how people hit out-of-scope admin panels, flood login (Module 10 already forbade that), or test a marketing WordPress that was never listed.
This course does not assign a bounty. It does not name a platform as homework. If you later choose a program, you still default to YOUR app until the policy is in your notes: program name, asset, OOS list, “I read this on DATE.” Empty “I will hunt on HackerOne tonight” fails this lesson. Bounty is optional and gated. Local demo is the assigned default. Do not treat a brand’s marketing site as in-scope because their engineering app is in-scope. The policy decides, not your curiosity.
3. DVWA, Juice Shop, WebGoat: only if YOU run them — public copies are still strangers
Intentionally vulnerable apps exist so you can break something whose owner is you. DVWA, OWASP Juice Shop, and WebGoat are names of those labs. The ethical copy is the one YOU installed in YOUR VM, YOUR Docker on YOUR machine, bound to localhost or a private lab net you own. The unethical copy is a Google result titled “online DVWA” on an IP you do not control. That operator did not hire you. Other students may be using it. Attacking it is attacking someone else’s computer that happens to run vulnerable software. Vulnerable ≠ consent. Public demo ≠ RoE.
If you do not want to install a lab, you still complete this module on YOUR app or the Lesson 4 localhost route map. You are not required to run DVWA. You are required not to attack a public copy. Do not port-scan the internet looking for default DVWA pages. Do not share a classmate’s lab URL as a group target. Their VM on café Wi-Fi is not your playground. Bind labs to 127.0.0.1 when you can — Module 13 already used that bind for a reason.
4. What you record: a scope card, not a target list of the internet
A scope note is a gate. Date (UTC). Default: MY app / local demo. Bounty: only if I read the policy — program, asset, OOS, date read — otherwise NONE. DVWA/Juice/WebGoat: installed by me locally, or NOT USED. Never: public DVWA, school, café, classmate, random SaaS. Legal line: original Cyberlium teaching mapped to the CEH v13 web-applications domain — not official EC-Council training, not a cert, not exam dumps. File: $HOME/cyberlium-lab/authorized-scope-notes.txt, chmod 600. Notes that list stranger hostnames as “practice” fail ethics even if you have not sent a request yet. World-writable 777 fails.
Do not fill the bounty row with a brand you have not opened a policy for. Do not add sqlmap command lines. Next lesson writes fix patterns (validation, encoding, authorization on the server) so the methodology stays builder-first. Topic 10 remains the deep injection/XSS path — still on surfaces you are allowed to touch.
5. Wrong vs right: random / public DVWA / unread bounty vs owned labs and read policy
Worked failure — same words “lab” and “bounty,” opposite permission. Right never needs a stranger’s hostname when YOUR app or loopback can teach methodology.
Wrong
Fuzz the school LMS. Hit a public online DVWA. Join a bounty without reading OOS. sqlmap a café portal. Call customer-login “implied consent.” Skip chmod. Claim this path is official CEH. This course is not a cert and does not grade that hunt.
Right
Default YOUR app or a local demo. Bounty only after YOU read the policy (asset, OOS, date). DVWA/Juice/WebGoat only if YOU installed them. File $HOME/cyberlium-lab/authorized-scope-notes.txt, chmod 600. Next: Fix Patterns Before Payloads — validation, encoding, authZ on the server.
6. Hands-on: lock authorized-scope-notes.txt — gates, not a target pack
On a computer you own, create cyberlium-lab if needed. Fill the gate in YOUR words. Run the checker; it only reads YOUR file. chmod 600. Do not add a public hostname because the bounty row felt empty.
Command guide
DVWA/Juice Shop only if YOU run them — WHAT/WHY then lock
═══ COMMANDS ═══
Command — copy this
cat >> "$NOTES" << 'EOF' allowed_vuln_apps: only if I run them on 127.0.0.1 / MY VM public_copies: still strangers EOF
Mission: authorized-scope-notes.txt in cyberlium-lab (mode 600)
1) Write the gate: default MY app or local demo; bounty only if YOU read the policy; DVWA only if YOU run it. 2) Fill $HOME/cyberlium-lab/authorized-scope-notes.txt; run the checker; chmod 600. 3) Ethics: no random sites, no public DVWA, no unread bounty. This is not official EC-Council training.
Stuck? Ask Cyberlium AI Mentor
If “CEH web apps means I should pick any login on the internet” still feels true, ask for a hint — not a target. Try: "Hint only: why customer-of-a-site is not tester, why bounty requires a policy I actually read, why public DVWA is still someone else, and where authorized-scope-notes.txt lives?" You still fill the file. No random sites. No public lab copies.
You now treat application testing as a gated activity: YOUR app, a lab YOU run, or a bounty policy YOU read. Public DVWA copies, unread programs, and random sites are out. Notes are locked in cyberlium-lab. This is original Cyberlium teaching mapped to the CEH v13 web-applications domain — not official EC-Council training, not a cert, not exam dumps. Next — Fix Patterns Before Payloads — validation, encoding, and authorization on the server, still pointing SQLi/XSS depth at Topic 10.
Knowledge Check
APPLY: A teammate pastes an “online DVWA” URL and says it is the assigned CEH web-app lab. What is authorized here, and what do you do?
Multiple choice
Knowledge Check
APPLY: True or False: You may start a bug bounty this week without reading in-scope and out-of-scope, because Module 14 maps to web applications.
True or False
Knowledge Check
APPLY: Which pairing matches this lesson’s artifact and hygiene?
Multiple choice
Knowledge Check
APPLY: curl of http://192.168.0.1/ shows a home router login (TP-Link / Netgear / Huawei / "Router Admin"). Is that DEMO in scope as a hacking target?
Multiple choice