The lab activity is divided into Two parts: (1) Vulnerability Assessment & (2) Vulnerability Mitigation. These two parts run on consecutive weeks, Part 1 on Week 4 and Part 2 followed by Part 1 on Week 5.
During the lab of Part 1, ensure that you take notes, with if needed screenshots and or related data that may contribute to the Written Justification. The Written Justification should not exceed 5 pages of A4 including any screenshots or images.
Your Written Justification document should include the following tasks:
JavaScript application: The code for this application can be downloaded from Moodle ‘code.zip’. The application can be started using the command: node main.js
You work for an electronics manufacturing company RedSkyTec. Following staff departure, you were put in charge to complete the application that has been left incomplete.
You are required to analyse the JavaScript application that was written by the previous employee to identify any potential security vulnerabilities, and to propose potential update to the software to mitigate these vulnerabilities.
Clicking the index.html can start the application by loading the main.js file with node. The default login credentials are:
Analyse the application to find potential vulnerabilities according to the following categories:
Write a report to summarise all the discovered vulnerabilities aligned with the above categorisation.
Admin
Manager
User
Every ‘User’ should have a ‘Manager’, and a ‘Manger’ may have their own ‘Manager’
Draw a UML diagram of the classes and relationships for the above planned functionalities, along with a brief explanation of your design decisions.
You are recommended to use Draw.io, but you are free to choose any tool to create the diagrams in.
How did you decide on the approach taken and alternates dismissed across all tasks?
Post task what, if appropriate would be a more appropriate approach? (10 marks for the methodology and 10 marks for reflection, 20 marks total)
As an AI language model, I can provide some general guidelines on how to analyze a JavaScript application for potential security vulnerabilities and propose updates to mitigate these vulnerabilities. However, please note that a comprehensive security audit should be conducted by a qualified security professional with in-depth knowledge of the application and its specific requirements.
Here are some steps you can follow to analyze the JavaScript application for potential security vulnerabilities:
Review the code for known security vulnerabilities: Start by reviewing the JavaScript code for common known security vulnerabilities, such as cross-site scripting (XSS), cross-site request forgery (CSRF), SQL injection, and remote code execution (RCE). Look for any instances of user input being used directly in the code without proper validation or sanitization.
Check for proper authentication and authorization: Review how the application handles user authentication and authorization. Ensure that sensitive actions and data are protected with proper authentication and authorization mechanisms, such as strong password policies, session management, and role-based access control (RBAC).
Look for secure communication: Check if the application communicates securely over HTTPS and does not send any sensitive data over unencrypted channels. Look for potential issues with data leakage, man-in-the-middle (MITM) attacks, and improper handling of sensitive information.