WebAppSecurity Logbook
WebAppSecurity Logbook
WEB
APPLICATION
SECURITY
011 ELEMENT LOGBOOK - MOD006363
SID: 2223494
1|Page
Nested Easter Egg ..............................................................................................................................51
Weekly Reflections.........................................................................................................................52
Literature Review ...................................................................................................................................53
2|Page
Week 1:
The overview of OWAS 2017 top 10 security vulnerabilities (OWASP, 2017 [1]) is as
follows:
Title Brief
A1: Injection It exists when attacker can insert unauthorized and
malicious data into an application through any input field.
Input of SQL query through a login form (email/ password)
can give unauthorized access to attacker.
Weekly Reflections
3|Page
• Understood how to login to Netlab – the remote working server for practical
sessions.
Week 2
Level 1:
Step 1: Simply check the source code of the page and identify the relevant code. As we’ve
seen the “try again” message on entering the wrong password, the relevant code is
somewhere near it.
4|Page
Level 1 Source Code
Level 2:
Step 1: The moment we’re on to Level 2, we get an alert box to enter a password. Click
“OK” or “Cancel” to access the Level 2 page.
5|Page
Level 2: Alert box
Step 2: Access the source code and identify the relevant code. Straightforward code with
variable “pass” helps.
6|Page
Level 2: Source Code
Step 3: Go back to the page, enter the password, and move to the next level!
7|Page
Level 3:
8|Page
Level 3: Enter the password.
Level 4 / Level 5:
Step 1: Level 4 is simply a pathway to Level 5. But we cannot access the level 5 page
directly. Clicking on “Click here” results in an alert box which if not entered with the
correct password, just sends you back to this page.
9|Page
Level 5: Entrance
Step 2: Check source code of Level 4 page and download the “sdrawkcab.html” file.
10 | P a g e
Level 5: Source Code
Step 4: Go back to the page, enter the password and you’re through.
11 | P a g e
Level 6:
Step 2: Everything else seems ordinary. The only clue is the js file. Click it!
12 | P a g e
Psswd.js File
Level 7
13 | P a g e
Step 1: Go to the source code.
Step 2:
Included.gif file
14 | P a g e
Step 3:
Level 8
15 | P a g e
Step 1:
Phat.php File
16 | P a g e
Step 3:
Step 4: Download the file and open it using PhotoShop or any online alternative.
17 | P a g e
Step 5:
Step 6:
18 | P a g e
Step 7:
Level 9
19 | P a g e
Step 2:
Step 3:
20 | P a g e
Step 4:
Step 5:
Level 10
21 | P a g e
Step 1:
Weekly Reflections
22 | P a g e
• Looked deeper into OSINT tools (Kadar, n.d. [4]). Found them quite fascinating
(and depressing considered “HaveIBeenPwned” (haveibeenpwned.com, n.d. [5])
just let me know that my mail address was a part of 36 data breaches that
included leaking of my address through a Domino’s data leak).
Week 3
23 | P a g e
Step 1: Go to the developer tools -> Inspector -> main-es2018.js file and look for “score”
there.
Relevant Code
Success!
24 | P a g e
Missing Encoding:
Step 1: Click on the sidebar options on the left and select “Photo Wall”.
Step 2:
25 | P a g e
Relevant Code
Success!
26 | P a g e
Zero Star Challenge:
Step 1:
Step 2:
27 | P a g e
Step 3:
Rating changed to 0
28 | P a g e
Success
Weekly Reflections:
Week 4
Confidential Document:
Step 1:
29 | P a g e
Step 2:
30 | P a g e
Step 4: This doesn’t seem to be the confidential file but now we know where all the files
are stored. Go to the ftp folder again!
Step 5:
31 | P a g e
Step 6:
Success!
32 | P a g e
Login Admin:
A common authentication bypass method is the following:
33 | P a g e
Success!
Weekly Reflections:
Week 5
View Basket:
Step 1:
34 | P a g e
Step 2: Open Developer Tools → Storage → Session Storage and check value of “bid”.
35 | P a g e
Step 3:
Success!
36 | P a g e
Admin Section
Step 1:
Step 2:
37 | P a g e
Step 3:
Success!
Weekly Reflections
38 | P a g e
• Learnt about CIA model – the fundamental elements of development of security
controls (Fenrich, 2008 [16]).
Week 6
Exposed Metrics
Step 1:
Step 2:
39 | P a g e
Step 3: Go to “localhost:3000/metrics”
Success!
Login Amy
Step 1: Go to the website (Grc.com, 2011 [17]) linked in challenge. The following parts
are relevant:
40 | P a g e
Step 2: Search for Amy’s boyfriend’s name!
Step 3: Try out the concept with “K1f”. Keep padding it with dots and it’ll eventually
work!
41 | P a g e
That's 22 dots btw!
Weekly Reflections
• Learnt about Sensitive Data Exposure (OWASP, 2017 [18]) and the multiple laws
governing handling of sensitive data – DPA (1998), GDPR (2018) & PCIDSS
(2022, most recent version).
• Learnt about several Reconnaissance Tools – used to discover and collect
information about a target system. Tried out SecurityHeaders (Helme, n.d. [19])
to gain information about HTTP headers used in a website. OSINT Resources
Portal (osint.link, 2018 [20]) is a helpful go-to website for such tools.
42 | P a g e
Week 8
Error Handling
This challenge was solved during the View Basket challenge!
Privacy Policy
Step 1:
43 | P a g e
Success!
Weekly Reflections
Week 9
DOM XSS
Step 1:
44 | P a g e
Step 2:
Success!
45 | P a g e
Bonus Payload
Step 1:
Step 2:
46 | P a g e
Weekly Reflections
Week 10
Chatbot Abuse
Step 1:
47 | P a g e
Step 2:
Step 3:
Weekly Reflections
48 | P a g e
Week 11
Easter Egg
Step 1:
Step 2: The Poison Null Byte Injection method (thehacker.recipes, 2023 [27]) will help
us break the sanity check filters and access the file. “%00” is the null byte. To input it in a
HTML link, encode % as “%25” hence “%2500” is used.
49 | P a g e
Step 3:
50 | P a g e
Easter Egg Challenge Completed!
Step 1:
Step 2:
51 | P a g e
Step 3:
Final Success!
Weekly Reflections
• Poison Null Byte injection – Using a null byte to send data that would be filtered
otherwise [27] - and used it in lab to complete the challenge.
• ROT 13 Encoding – Substitution encoding replacing each alphabet with an
alphabet 13 places ahead of it. Used ROT13 decoder to solve the last challenge.
• Covered Threat Modelling in lecture. SAMM is an open framework to implement
a security strategy. (OWASP, n.d. [28])
• STRIDE, DREAD, PASTA are established threat modelling methodologies.
52 | P a g e
Literature Review
[3] www.hackertest.net. (n.d.). Hacker Test: A site to test and learn about web hacking.
[online] Available at: https://www.hackertest.net. [Accessed: 31 January 2023]
[4] Kadar, T. (n.d.). Top 10 OSINT (Open Source Intelligence) Software Tools 2023.
[online] Available at: https://seon.io/resources/comparisons/osint-software-tools/
[Accessed: 13 Mar. 2023].
[5] haveibeenpwned.com. (n.d.). Have I Been Pwned: Check if your email has been
compromised in a data breach. [online] Available at: https://haveibeenpwned.com.
[Accessed: 13 Mar. 2023]
[6] Borges, E. (2021). SecurityTrails | Banner Grabbing: Top Tools and Techniques
Explained. [online] securitytrails.com. Available at:
https://securitytrails.com/blog/banner-grabbing. [Accessed: 13 Mar. 2023]
[8] SQL-Server-Team. (2019). How and Why to Use Parameterized Queries. [online]
Available at: https://techcommunity.microsoft.com/t5/sql-server-blog/how-and-why-
to-use-parameterized-queries/ba-p/383483. [Accessed: 13 Mar. 2023]
[9] OWASP. (n.d.). OWASP Secure Coding Practices-Quick Reference Guide. [online]
Available at: https://owasp.org/www-project-secure-coding-practices-quick-reference-
guide/. [Accessed: 13 Mar. 2023]
[10] www.w3schools.com. (n.d.). HTML URL Encoding Reference. [online] Available at:
https://www.w3schools.com/tags/ref_urlencode.ASP. [Accessed: 13 Mar. 2023]
53 | P a g e
[11] OWASP. (2017). A2:2017-Broken Authentication | OWASP. [online] Available at:
https://owasp.org/www-project-top-ten/2017/A2_2017-Broken_Authentication.
[Accessed: 13 Mar. 2023]
[14] OWASP. (2017). A5:2017-Broken Access Control | OWASP. [online] Available at:
https://owasp.org/www-project-top-ten/2017/A5_2017-Broken_Access_Control.
[Accessed: 13 Mar. 2023]
[15] Ma, X., Li, R., Lu, Z., Lu, J. and Dong, M. (2011). Specifying and enforcing the
principle of least privilege in role-based access control. Concurrency and Computation:
Practice and Experience, 23(12), pp.1313–1331. doi:https://doi.org/10.1002/cpe.1731.
[16] Fenrich, K., 2008. Securing your control system: the "CIA triad" is a widely used
benchmark for evaluating information system security effectiveness. Power
Engineering, 112(2), pp.44-49.
[17] Grc.com. (2011). GRC’s | Password Haystacks: How Well Hidden is Your
Needle? [online] Available at: https://www.grc.com/haystack.htm. [Accessed: 6 April
2023]
[19] Helme, S. (n.d.). Analyse your HTTP response headers. [online] securityheaders.com.
Available at: https://securityheaders.com. [Accessed: 6 April 2023]
[20] osint.link. (2018). Open Source Intelligence (OSINT) Tools & Resources. [online]
Available at: https://osint.link. [Accessed: 6 April 2023]
54 | P a g e
[21] Kosutic, D. (n.d.). What is ISO 27001? [online] 27001Academy. Available at:
https://advisera.com/27001academy/what-is-iso-27001/. [Accessed: 6 April 2023]
[23] OWASP. (2017). A7:2017-Cross-Site Scripting (XSS) | OWASP. [online] Available at:
https://owasp.org/www-project-top-ten/2017/A7_2017-Cross-
Site_Scripting_(XSS).html. [Accessed: 6 April 2023]
[26] Bhatt, S., Manadhata, P.K. and Zomlot, L. (2014). The Operational Role of Security
Information and Event Management Systems. IEEE Security & Privacy, 12(5), pp.35–41.
doi:https://doi.org/10.1109/msp.2014.103.
55 | P a g e