Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
66 views40 pages

Machine Learning Task 1

The SPIDER R&D Inductions '25 involves completing a series of tasks in technology and research, divided into two stages: Task 1 and Task 2. Task 1 requires participants to complete three basic tasks from various areas such as Computer Networking and Machine Learning, along with one mandatory domain-specific task. Participants are encouraged to seek help, document their code, and ensure thorough testing, with a deadline set for June 2nd.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views40 pages

Machine Learning Task 1

The SPIDER R&D Inductions '25 involves completing a series of tasks in technology and research, divided into two stages: Task 1 and Task 2. Task 1 requires participants to complete three basic tasks from various areas such as Computer Networking and Machine Learning, along with one mandatory domain-specific task. Participants are encouraged to seek help, document their code, and ensure thorough testing, with a deadline set for June 2nd.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Spider R&D

Software Task 1
Greetings from SPIDER R&D!

Welcome to the SPIDER R&D Inductions ‘25! Over the upcoming weeks, you
will take on a series of tasks designed to help you learn and explore different
areas of technology and research.

The inductions will be conducted in two stages:

1. Task 1
2. Task 2

This is Task 1, divided into two sections: Common and Domain-Specific.


For Task 1, you are required to complete:

1. Three Basic Tasks: Choose any three tasks from the following areas:
○ Computer Networking
○ Cyber Security
○ Application Development
○ UI/UX
○ Blockchain
○ Machine Learning

2. One Domain-Specific Task (mandatory): Choose one task from the


following specialized areas:
○ Computer Networking
○ Cyber Security
○ Application Development
○ UI/UX
○ Blockchain
○ Machine Learning
Getting Started

The tasks are designed to cater to a range of skill levels, ensuring that
even beginners can learn and progress. While you may encounter
challenges along the way, perseverance is key. It is normal to face
difficulties; overcoming them will be part of your learning experience.

Support and Resources

If you run into any issues or need assistance, do not hesitate to reach out
to any member of the club. We are here to help you navigate through the
tasks and ensure a fruitful learning journey.

General Instructions:

● Carefully read and comprehend the problem statement before you


begin.Misunderstandings and incorrect completion of tasks will not be
acceptable. Do not hesitate to seek clarification if you're unsure about
any aspect.
● The goal is for you to understand the underlying concepts and write
your own code. While it's okay to look up code snippets for reference,
directly copying someone else's code is forbidden.
● For complex tasks, divide them into smaller, manageable modules.
Focus on completing each module individually. This approach makes
the task easier and ensures steady progress and a sense of
accomplishment as you complete each part.
● The Internet is a powerful tool. Use it to search for solutions to your
queries and doubts. Most questions can be resolved with a quick
search. However,make sure you understand the solutions you find
and can explain them.
● If you encounter any issues or have any questions, feel free to
contact us.
You can post your queries in the WhatsApp group or send a private
message to one of us. We are here to support you and provide
guidance as needed.
● Write clear and concise documentation for your code. Use
comments to explain the purpose of complex code sections. This will
not only help others understand your work but also aid you in
recalling your thought process later.
● Test your code thoroughly to ensure it works as expected. Debug
any issues that arise and verify that all parts of your code function
correctly. Consider edge cases and test your code under different
scenarios.
● Use version control systems like Git to keep track of changes in
your code. This allows you to revert to previous versions if something
goes wrong.
● The deadline for Task 1 is 2nd June.

🙂
We are excited to have you on board and look forward to see your
progress. Good luck from the Spider R&D family!
BASIC
TASKS
Application Development

Hammer Strength Game


Note: You can develop it as a web or mobile application.

Create an interactive fairground-style "Hammer Strength Test" game where


players aim for precision and timing.

Core Features:

●​ A stick/needle swings back and forth continuously between 0° and 180°


●​ The player clicks a button or presses a key to stop the swing
●​ The closer the final angle is to 90°, the higher the score
●​ A perfect stop at 90° gives the maximum score of 100
●​ The score decreases linearly (or exponentially) as the stopped angle
deviates from 90°
●​ Use the provided images to design the game layout:
○​ Strength meter background – shows the arc (without the hammer)
○​ Hammer image – to represent the hit action or placed decoratively
●​ Build a basic UI that integrates these visuals
●​ After the stop, display the final score clearly to the player

Brownie Points Challenges:

●​ Variable Speed: Stick swings between 0°–180° with realistic motion —


faster near 90°, slower at edges.
●​ Two-Player Mode: Each player takes one turn. Use different keys or
alternate input. Compare scores and declare the winner.

The task will be evaluated based on the following:


●​ UI and Creativity
●​ Completion of task
●​ Responsiveness and Clean code

Assets:
Resources
Computer Networking

This analysis aims to provide insights into the traffic patterns and behaviors
within a basic PCAP file. The capture likely contains multiple protocols and file
transfers, which may highlight potential signs of interest or suspicious activity.

Please make sure to go through all the resources provided to you to better
understand the concepts behind network traffic, packet captures, and common
protocols. This will help you accurately answer the questions below and enhance
your understanding of packet analysis.

PCAP File:
https://drive.google.com/drive/folders/1qUph4Y9dmgcAiNmm3srn0KS4zGpnwdlI?usp=sharing

Analysis Questions:

1.​ What types of traffic (HTTP, DNS, FTP, etc.) are present?​

2.​ How many DNS queries were made in total?​

3.​ What types of DNS queries were made?​

4.​ What is a Loopback Interface?​

5.​ How many .txt files were requested? List their names.​

6.​ One .txt file contains base64-encoded content. Identify and decode it.
What does it contain?​

7.​ Was any attempt made to distract the analyst using decoy files? Explain.​

8.​ Are there any known ports being used for uncommon services?​

9.​ How many HTTP GET requests are visible in the capture?​
10.​ What User-Agent was used to make the HTTP requests?

Once you have answered all of the questions above, please compile your
responses into a document and submit it. Ensure that your answers are clear
and concise, and make use of the resources provided to understand the relevant
concepts.

Resources:

Wireshark:
https://www.wireshark.org/download.html
https://www.wireshark.org/docs/wsug_html_chunked/

Wireshark Basics (Packet Sniffing):
https://www.youtube.com/watch?v=qTaOZrDnMzQ
CyberSecurity

Google Dork-Based Asset Discovery


Using Google Dorks, enumerate digital artifacts (documents, credentials, login
panels, backups, and configurations) exposed on the internet for a given target
organisation (perform for atleast 3-4 organisations) using publicly available
Google search techniques.

Instructions:

Step 1: Target Setup

You are given a domain: tesla.com

You may use any ethical/educational targets of your choice, such as


example.com, google.com, or any .edu/.gov/.org domain.

Step 2: Use Google Dorks to Find and Record the Following:

●​ Public Documents (PDF, XLSX, DOCX,etc)


●​ Login Pages / Admin Panels
●​ Public Backup / Config Files
●​ Exposed Logs / Errors
●​ Emails & Contact Info
●​ Git Folders and Env Files

Deliverables:

1.​ A simple report (text or markdown) including:


○​ Dorks used
○​ 2–3 valid results per category (with links or screenshots)​

Resources:
https://youtu.be/H1zKQ7z3hN4?si=qDvNxfKA3cwT3RPb
https://youtu.be/hrVa_dhD-iA?si=HoNmq_gqpgjLiIYu
https://www.exploit-db.com/google-hacking-database
UI/UX

Coffee House
Design a landing page for a coffee company featuring a dynamic hero
section, interactive product showcase, customer testimonials, and key
relevant information.

Resources

Figma resources are readily available on the internet and you can choose
any one of them to learn the basics. You can refer to the following
resources as well :

1.Figma Basics : https://youtu.be/bI6q16ffdgQ?feature=shared

2. Practice : https://youtu.be/bI6q16ffdgQ?feature=shared

3. 3D Animations in figma prototyping:


https://youtu.be/hb1NDTdVZUI?feature=shared
https://youtu.be/J6DjxHXXZGw?feature=shared

Make sure to learn different features in figma and implement in your design
such as autolayout , prototyping etc


Blockchain
Polynomic Vault
Implement the core logic of Shamir’s Secret Sharing Scheme, a fundamental
cryptographic method used to split a secret (like a private key) into multiple parts,
such that only a subset (threshold) of them is needed to reconstruct the original
secret.

Implement SSS in your preferred programming language (Python/JavaScript


recommended).

Use polynomial-based splitting to divide a number (secret) into n shares.

Require only k out of n shares to reconstruct the secret.

Demonstrate the reconstruction using Lagrange Interpolation.

Resources:

Basics of Cryptography
●​ https://www.geeksforgeeks.org/cryptography-tutorial
●​ https://www.oracle.com/java/technologies/jpl2-crypto.html
Devops
Context

A monorepo in Spider has been compromised. Malicious configuration files (.env)


were found containing suspicious environment variables. As part of the DevOps
team, you are assigned to audit, sanitize, and secure the repository contents.

Task Overview
Create a Bash-based tool named vault_sweeper to:

1.​ Recursively scan specified directories for sensitive or malformed


environment files.
2.​ Validate and sanitize the contents of these files based on security
constraints.
3.​ Create a directory called logs/ and add the respective logs in it. Create a
user called maintainer and ensure the directory can be accessed only by
the same.
4.​ Collect and log metadata such as file user, permissions, ACLs, and
modification details inside the logs/ directory.
5.​ Generate secure output files from valid data.

File Discovery and Validation


1.​ File Discovery:
●​ Take one directory path as input.
●​ Go through all files and folders inside it (including hidden files),
checking them one by one.
●​ Look for environment files (.env, .env.example, etc.).
2.​ Validation and Sanitization:
●​ Check each line in the environment files.
●​ Keep only the valid environment variables.
●​ Remove lines that are unsafe or incorrectly written.
3.​ Rules for Validation:
Valid Lines (Keep these):
●​ API_KEY=validkey123 # No spaces around
`=`, only letters/numbers/underscores in key
●​ SAFE_ONE=value1 # Correct format
●​ DEBUG=false # Correct format

Invalid Lines (Reject these):

●​ PASSWORD = secret123 # Space around


equals sign
●​ SERVER-NAME=web01 # Hyphen in variable
name
●​ export PATH=$PATH:/tmp # Modifies PATH
variable
●​ USER_EMAIL="admin@example" # Unnecessary quotes
●​ LOG_LEVEL= info # Space after equals
sign

Reject any key like PASSWORD, SECRET, TOKEN, or any key that
modifies

system variables like PATH.

4.​ Metadata and Logging:

Capture and log the following in metadata.log file inside the logs directory
made earlier:

●​ File path
●​ User, permissions
●​ ACLs and extended attributes
●​ Number of valid/invalid lines
●​ Identity of last modifier
●​ Rejected lines
Example: metadata.log

●​ File: /path/to/repo/.env
●​ User: UID=1001 (user1), GID=1001 (group1)
●​ Permissions: 0644
●​ Valid Lines: 3
●​ Invalid Lines: 5
●​ Rejected Lines:
■​ - PASSWORD = secret123
■​ - SERVER-NAME=web01
■​ - export PATH=$PATH:/tmp
■​ - USER_EMAIL="admin@example"
■​ - LOG_LEVEL= info

Output

●​ Store sanitized variables in a secure environment file named .env.sanitized.


●​ Save all logs and metadata in a separate metadata.log file.
●​ Ensure proper file permissions and ownership.

Example Secure Environment File:

●​ API_KEY=validkey123
●​ SAFE_ONE=value1
●​ DEBUG=false

Bonus Task
●​ Detect and log files with SUID, SGID, sticky bit, or extended attributes.
●​ Prompt the user whether to lock down sanitized files.
●​ Set up a scheduled cronjob with a scan script that sends an alert to a specific user when
issues are detected.

Example Suspicious File Detection:

●​ Warning: File /path/to/repo/.env has world-writable permissions (0666)


●​ Warning: File /path/to/repo/config.sh has execute permissions (0755)​
Deliverables
●​ A script that implements all requirements
●​ Sample input files (malformed and valid)
●​ Generated secure output and log files under a vault/ directory

Resources:
●​ Bash Guide for Beginners by Machtelt Garrels.
●​ Advanced Bash-Scripting Guide by Mendel Cooper.
●​ Linux Basics For Hackers
Machine Learning
Vehicle Image Classification

You are given a dataset containing a curated set of images of various types
of motor vehicles across 7 classes: Auto Rickshaws, Bikes, Cars,
Motorcycles, Planes, Ships, and Trains. You have to use a pre-existing
model - ResNet18 to classify these images into their respective categories.

Link to Dataset:
https://www.kaggle.com/datasets/mohamedmaher5/vehicle-classification

●​ Upload the Vehicles dataset folder to Google Colab.


●​ Enable GPU by going to Runtime > Change runtime type and
selecting GPU.
●​ Import necessary libraries like torch, torchvision, os, and matplotlib.
●​ Load and preprocess the dataset using ImageFolder with resizing,
normalization, and tensor conversion.
●​ Import ResNet18 from torchvision.models and replace its final layer
with one that has 7 output classes.
●​ Train the model on the entire dataset for a few epochs using an
optimizer and loss function.
●​ Print the final loss and accuracy after training with a test dataset
(include validation set if needed).
●​ Choose one image from each class, run predictions using the trained
model, and display the results with matplotlib.

Resources:
1.​ Google colab:
Google Colab Tutorial for Beginners | Get Started with Google …
Upload the dataset to collab in the upload section in the left side.
2.​ PyTorch: https://www.learnpytorch.io/
3.​ OpenCV: https://www.youtube.com/watch?v=oXlwWbU8l2o&t=2151s
4.​ NumPy: https://www.youtube.com/watch?v=QUT1VHiLmmI
5.​ Pandas: https://www.youtube.com/watch?v=vmEHCJofslg&t=3176s
6.​ Matplotlib: https://www.youtube.com/watch?v=3Xc3CA655Y4

Note: You are allowed to utilize all resources available online. You will be
evaluated in the PIs based on your code and your conceptual
understanding gained from the given resources. Do not simply copy paste
from AI.

Evaluation Criteria:
You will be judged based on your ability to complete the mentioned task
with the highest accuracy given the model and the dataset to be used. You
will also be judged based on the theory behind the task and some other
basic concepts of AI and ML in your following PI.

Some resources that can be followed to learn the theoretical concepts


could be:
1.​ https://cs50.harvard.edu/ai/2024/
2.​ Resnet Explained

Submission details:
Code + Proper Comments in Google Collab. ​
Further details will be sent with the submission link.

Expected output:
DOMAIN
SPECIFIC
TASKS
Application Development

Disc Battle 4

Note: You can develop either a web application or a mobile application for
completing the tasks

Binod and Vinod are tired of playing the same old board games over and over
again. Determined to break the monotony, Binod decides to create a two-player
game that is strategic and packed with new features, and exciting power-ups to
keep the players engaged. Help him code the game with the following rules.

Rules:
●​ Two players take turns dropping red and yellow coloured discs into the
chosen columns in a 6-row×7-column grid.

●​ The disc falls to the lowest available space in the chosen column.

●​ At the start of each turn, the opponent selects one column to block. The
current player is not allowed to drop a disc into the blocked column during
that turn.
Example:
❖​ It's Player 1's turn.
❖​ Player 2 blocks column 4.
❖​ Player 1 cannot drop their disc into column 4 for that turn.

After blocking, there must be at least one available column where the
current player can drop a disc. If not, then no column should be blocked for
that turn.

●​ The goal is to connect 4 discs of the same colour - vertically, horizontally,


or diagonally.

●​ The first player to do so wins. If the board fills up without any winner, then
it’s a draw.

Level 1:
●​ Implement the game with the above mentioned rules.
●​ Include a timer for each player. If the timer reaches zero, the opponent
wins.
●​ Include a leaderboard that is displayed at the end of each game. Use local
storage to persist scores/statistics across sessions.

Level 2:
●​ Allow each player a limited number of power-ups that can be used
strategically throughout the game (like extra time, reducing opponent’s
time, extra turn for the player, etc). You can include your own custom
power-ups also.
●​ Include sound effects in the game and provide a toggle to enable or
disable sound effects.
●​ Provide an option to change from light themed background to dark themed
background and vice versa.

Level 3:
●​ Implement an undo feature in the game.
●​ Implement a feature where the user can see a replay of the game.

Note: Completion of Level 1 is sufficient for completing the task. But it is


recommended to complete Level 2 and 3 for extra points.

The task will be evaluated based on the following:


●​ UI and Creativity
●​ Completion of task
●​ Responsiveness and Clean code

Resources:

For Web:
Docs:
●​ HTML Tutorial
●​ Learn CSS
●​ JavaScript Tutorial
●​ The Modern JavaScript Tutorial
●​ MDN Web Docs
Videos:
●​ HTML Crash Course For Absolute Beginners
●​ CSS Crash Course For Absolute Beginners
●​ JavaScript Crash Course For Beginners

For Mobile Application:


1.​ React Native:
●​ Installation and Setup
●​ React Native Documentation : React Native Documentation
●​ React Native courses:
❖​ The Complete React Native Course: from zero to hero by
programming with Mash: react native course
❖​ FreeCodeCamp: free code camp tutorial
❖​ Building a full stack React Native app crash course: Building
a full stack react native app

2.​ Flutter:
●​ Installation and Setup
●​ Flutter Documentation : Documentation
●​ Flutter Tutorial for Beginners by Net Ninja :
❖​ Old playlist:
https://youtube.com/playlist?list=PL4cUxeGkcC9jLYyp2Aoh6h
cWuxFDX6PBJ&si=6zTcRvPUptV2vFaP
❖​ New playlist:
https://youtube.com/playlist?list=PL4cUxeGkcC9giLVXCHSQ
mWqlHc9BLXdVx&si=wcQ2os0MRYSipmzn
●​ Flutter Master class by Mitch Koko:
https://www.youtube.com/watch?v=TclK5gNM_PM
Computer Networking

You are hired as a network engineer to design and implement a secure and
scalable computer network for a newly established office. The office consists of
multiple departments distributed across the floor as shown in the provided floor
plan. Your task is to ensure robust connectivity and efficient resource sharing.
Use Cisco Packet Tracer to simulate a office network with the below details

Requirements:

Teams Number of Data Ports Required

Engineering 16

Sales 8

Marketing 4
Admin 4

MR 8

IT 4

Servers 4

Total 48
Switch Configuration

Router Configuration

VLAN Name VLAN No Network ID Router Interface Default Gateway

Engineering 10 192.168.1.0/24 Fa0/0.10 192.168.1.1/24

Sales 20 192.168.2.0/24 Fa0/0.20 192.168.2.1/24

Marketing 30 192.168.3.0/24 Fa0/0.30 192.168.3.1/24

Admin 40 192.168.4.0/24 Fa0/0.40 192.168.4.1/24

MR 50 192.168.5.0/24 Fa0/0.50 192.168.5.1/24

IT 60 192.168.6.0/24 Fa0/0.60 192.168.6.1/24

Servers 70 192.168.7.0/24 Fa0/0.70 192.168.7.1/24

Procedure:

●​ Connect The Switches and Routers


●​ Configure Host Name, trunk ports and VTP in S1,S2,S3 and S4
●​ Configure Host Name and enable the interface fa0/0 in R1
●​ Create VLAN database in S1
●​ Allocate ports to VLANs in S1,S2,S3 and S4
●​ Configure sub interfaces in the router
●​ Configure DHCP server and test it
●​ Configure WEB server and test it
●​ Configure DNS server and test it

Resources:

Networking Concepts:​

Networking Fundamentals Part 1: https://youtu.be/q4TFy4YpNsE

Networking Fundamentals Part 2: https://youtu.be/XtrCwLlqrFk

TCP IP Model – Introduction : https://youtu.be/9YJnoaL2dYk

TCP IP vs OSI: https://youtu.be/IiFCJQ8AoJU

TCP IP Application Transport Layers : https://youtu.be/zJi8M06vAzU

TCP IP Network Layer: https://youtu.be/mAtjhOTKDWY

TCP IP Data Link, Physical layers: https://youtu.be/OncryuCGdmI

IPv4 Subnetting Part 1: https://youtu.be/lLCv-4vK5Sc

IPv4 Subnetting Part 2: https://youtu.be/ALOGBUHHSL0

IPv4 Subnetting Part 3: https://youtu.be/JtZn4RhcmbY

Networking Simulation Softwares:​

GNS3: https://docs.gns3.com/docs/
Cisco Packet Tracer:
https://skillsforall.com/resources/lab-downloads?courseLang=en-US
https://skillsforall.com/skillsforall/files/Cisco_Packet_Tracer_Download_and_Insta
llation_Instructions.pdf

Wireshark:
https://www.wireshark.org/download.html
https://www.wireshark.org/docs/wsug_html_chunked/

Additional Concepts:​

MAC Addressing & ARP: https://www.youtube.com/watch?v=cn8Zxh9bPio



DNS (Domain Name System): https://www.youtube.com/watch?v=72snZctFFtA

DHCP (Dynamic Host Configuration Protocol):
https://www.youtube.com/watch?v=e6-TaH5bkjo

NAT (Network Address Translation):
https://www.youtube.com/watch?v=FTUV0t6JaDA

Routing Basics: https://www.youtube.com/watch?v=vevwaRi_KBk

Switching vs Routing: https://www.youtube.com/watch?v=O5jAQwAN8mo

Firewall Basics: https://www.youtube.com/watch?v=Fli0GD_9OEU

Wireshark Basics (Packet Sniffing):
https://www.youtube.com/watch?v=qTaOZrDnMzQ

Basic Network Commands: https://www.youtube.com/watch?v=rurs7cdT5cc
Blockchain
Decentralized Research Vault:

Bharani is part of a research group that frequently uploads important papers and
findings. However, the team wants a way to store documents in a decentralized,
tamper-proof system so authorship can be proved, and data can’t be lost or
manipulated. Bharani decides to build a decentralized app that leverages
Ethereum and IPFS. Help Bharani build this system with the following features:

Concept:

A decentralized platform where users can upload research papers. Each upload
is stored on IPFS and logged permanently on Ethereum with author details,
timestamp, and IPFS hash. In advanced levels, papers will be minted as
soulbound NFTs to prove authorship without making them transferable.

Level 1: Core Concepts — Ethereum + IPFS

●​ Implement a frontend form to: (Prefer React or js framework)​

○​ Upload PDF research papers.​

○​ Input paper title and author name.​

●​ Store the uploaded paper on IPFS (via web3.storage, Infura, or Pinata).​

●​ Deploy a simple Ethereum smart contract with:​

○​ uploadPaper(title, author, ipfsHash) function.​

○​ Paper struct with fields: title, author, ipfsHash, uploader


address, timestamp.​

●​ On submission, interact with the contract to store the metadata.


●​ Display a public feed of all uploaded papers using on-chain data + IPFS
links.
●​ Add wallet connection via Metamask.
●​ Use Sepolia or Polygon Mumbai for testing.

Level 2: Ownership & Identity — Soulbound NFTs + Validation

●​ Extend the system to mint a non-transferable (soulbound) NFT when a


paper is uploaded, using the author's wallet address as the owner.​

○​ Include metadata like title, ipfsHash, author, timestamp.​

○​ Use OpenZeppelin contracts with restrictions on transfer functions.​

●​ NFTs should be viewable in the frontend under a "My Uploads" section.​

●​ Validate whether an address is the original uploader using ownerOf()


checks.

Bonus:

●​ Add a badge/reputation system for users based on number of uploads.

Level 3: Integrate zero-knowledge proofs for selective disclosure:

●​ Allow researchers to prove ownership of papers without revealing their full


identity.
●​ Enable users to prove they have access to a paper without revealing which
specific paper.
●​ Implement a zkSNARK or zkSTARK protocol for privacy-preserving
verification.
Resources

Complete Blockchain architecture and implementation

Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScr…
Lesson 0 | Introduction - Solidity & Foundry Full Course

https://www.geeksforgeeks.org/blockchain/
https://cryptozombies.io/

Solidity official documentation (optional):


https://docs.soliditylang.org/en/v0.8.30/introduction-to-smart-contracts.html
CyberSecurity
Level 1: Recon

Objective:​
Understand the surface of a web application using reconnaissance tools and
manual inspection.

Task:

●​ Perform recon on http://testphp.vulnweb.com


●​ Identify and document:​
• IP address​
• DNS info​
• Tech stack (server, CMS, etc.)​
• Subdomains (if any)​
• Open ports/services​
• Directory structure (using ffuf, dirsearch)​
• Page titles, parameters, forms
●​ Identity difference between passive and active recon.

Tools:​
nslookup, whois, nmap, whatweb, httpx, ffuf, dirsearch, subfinder,
waybackurls, etc

Level 2: OWASP Top 10 Vulnerabilities (Lab Practice)

Objective:​
Learn about common web app vulnerabilities and how to exploit them safely.

Task:​
Study and practice OWASP Top 10 vulnerabilities like:

●​ SQL Injection (SQLi)


●​ Cross-Site Scripting (XSS)
●​ Insecure Direct Object References (IDOR)
●​ And others from the OWASP list​

Platforms:

●​ PortSwigger Labs → https://portswigger.net/web-security


●​ OWASP Juice Shop (online/local setup)

Level 3: Live Recon & Exploitation

Objective:​
Apply knowledge from Level 1 & 2 on the Spider Server

Task:

●​ Perform recon on the Spider Server​

●​ Find and document:​


• IP address, OS, and tech stack​
• Services in use​
• Hidden subdomains​
• One subdomain hosts an intentionally vulnerable app – try exploiting it​

Submission:

●​ Asset find out, active and inactive domains, IPs, DNS records
●​ Recon & exploitation report with learnings
●​ Screenshots of bugs or proof-of-concepts (PoC)
●​ Payloads & methods used
●​ References and tools utilised

Resources
Kali Linux Setup
●​ Virtual Machine (Recommended for Beginners)
○​ Use: VirtualBox or VMware Workstation Player for Windows , For
mac use UTM
○​ Kali ISO: https://www.kali.org/get-kali/
○​ Guide: Kali Linux VM Installation Guide
●​ Windows Subsystem for Linux (WSL2)
○​ Use: Kali on WSL2 (for Windows users not comfortable with VMs)
○​ Guide: Kali on WSL Setup

Kali Linux on Windows in 5min (WSL 2 GUI)

Install Kali Linux on Windows 11

Kali Linux on Mac M1 & M2 using UTM

Linux Basics
Once setup is done , refer to these videos if you starting with Linux and wanted
to explore
Linux for Ethical Hackers (Kali Linux Tutorial)
Basic of linux
linux

Practice

●​ Bandit (OverTheWire):

Complete at least levels 0-20 of Bandit

Networking Basics

Topics to Cover:

●​ OSI Model & TCP/IP Model


●​ IP addressing, Subnetting
●​ Ports and Protocols (TCP vs UDP)
●​ DNS, DHCP, NAT
●​ Common networking commands (ping, traceroute, dig, netcat,
telnet,whois,SSH)
https://www.youtube.com/@NetworkChuck
https://www.youtube.com/playlist?list=PLc5rXIqickU1fJkB1vmgedDQa3QO
HNPxY

Intro to Networking

https://hackertarget.com/nmap-cheatsheet-a-quick-reference-guide/

Bug Bounty Resources

Burpsuite

Web Security Academy (PortSwigger): https://portswigger.net/web-security

active-passive-reconnaissance

Red Team Reconnaissance Techniques

Web Application Pentesting

https://www.youtube.com/c/InsiderPhD
UI UX
Jewellery Company Website
Your client is Pandora, a leading international jewellery brand, which designs,
manufactures and markets hand-finished and contemporary luxury jewellery
made from high- quality materials at accessible price points.

They have come to you seeking help. They want to go online where they can
showcase their design collection and make it accessible to international
customers as well.

Design a high-fidelity mockup for their website, incorporating modern design


elements and advanced Figma features such as 3D animation and prototyping.
Create a moodboard, User journey and wireframes for the pages and then
design the website with them. The website can have upto 5 - 8 pages.

Bonus Task for Brownie points:

As a UI/UX developer, you are expected to know the frontend tech stack as
well. After designing the website, provide the frontend code for it.

Resources:

Figma resources are readily available on the internet and you can choose
any one of them to learn the basics. You can refer to the following
resources as well :

1.Figma Basics : https://youtu.be/bI6q16ffdgQ?feature=shared

2. Practice : https://youtu.be/bI6q16ffdgQ?feature=shared

3. 3D Animations in figma prototyping:


https://youtu.be/hb1NDTdVZUI?feature=shared
https://youtu.be/J6DjxHXXZGw?feature=shared

Make sure to learn different features in figma and implement in your design
such as autolayout , prototyping etc.
Devops

Dockerizing a Web Application


Containerization has become a fundamental practice in modern development
and operations workflows. Docker, as the leading containerization platform,
allows developers to package applications with all their dependencies into
standardized units called containers, ensuring consistent behavior across
different environments. This task will help you understand the practical aspects of
containerizing a simple web application using Docker.

Concept and Overview


Your task is to containerize a full-stack web application using Docker and Docker
Compose. The application consists of a React frontend, a Rust backend using
Actix-Web framework, and a PostgreSQL database.

Repo Link: Devops-Inductions-25-Task1 repository


The process involves:

1.​ Understanding the application structure and dependencies


2.​ Creating appropriate Dockerfile(s)
3.​ Building and running Docker containers
4.​ Implementing best practices for containerization
5.​ (Advanced) Setting up multi-container environments with Docker Compose

Task Details

Level 1: Basic Dockerization


●​ Create a Docker setup that allows all components of the application to run in containers:
●​ Frontend (React)
●​ Backend (Rust/Actix-Web)
●​ Database (PostgreSQL)

●​ Fork and clone the repository:


https://github.com/Vedansh-05/Devops-Inductions-25-Task1
●​ Examine the application structure to understand its components
●​ Create a Dockerfile in the respective directory with:
○​ An appropriate base image
○​ Required dependency installations
○​ Copy application files
○​ Expose necessary port(s)
○​ Define the command to start the application
●​ Build the Docker image
●​ Run a container from your image and verify the application works
●​ The containers should be properly networked so that they can communicate with each
other
●​ Document your process and any challenges faced(Important)

Level 2: Advanced Containerization

●​ The containers should be properly networked so that they can


communicate with each other
●​ Push your image to a public registry (Docker Hub)
●​ Create a .dockerignore file to exclude unnecessary files
●​ Create a Docker Compose setup for the application
○​ Create a docker-compose.yml file in the root directory
○​ Define all three services (frontend, backend, database)
○​ Configure networking between containers
○​ Set up environment variables
○​ Define volumes for data persistence
○​ Implement container networking

Deliverables
1.​ Complete Dockerfile(s)
2.​ Docker Compose file
3.​ Documentation explaining:
○​ Your approach and reasoning
○​ Instructions to build and run the application
○​ Challenges faced and solutions implemented
4.​ Create a README.md file explaining how to:
○​ Build and run the application using Docker Compose
○​ Access the application once it's running
○​ Troubleshoot common issues
5.​ Submit a link to your repository
Resources:
-​ https://www.markdownguide.org/
-​ https://docs.docker.com/
-​ https://docs.docker.com/get-started/
-​ https://docker-curriculum.com/
-​ https://www.freecodecamp.org/news/the-docker-handbook/
Machine Learning

The domain specific task for Machine Learning will be released along with the
hardware and research aspect of the task separately soon. If you wish to pursue
this domain specifically then wait for the updates on the task in the
announcements group in whatsapp. In the meantime get ready for some drilling
during your PI on the theory and code of the task :)
ALL THE BEST
FOR YOUR
INDUCTIONS!

You might also like