Pre-Security Course / Module 1

Computer Fundamentals & Data Representation

Before you can secure a system, you need a clear picture of what a system is — and how it stores the numbers and text that everything else is built from. This module lays that ground floor. You do not need to install anything: where you see a Try it yourself box, you can follow along in the browser or app you already have. New here? The first section below explains what this course is and where it leads.

Start here — what this course is, and where it leads

Welcome. Before the first technical page, take two minutes on what you have walked into: what this course does, what it deliberately does not do, and where it sits in a longer path.

What this course is

This is a primer — the ground floor under everything else. It does not teach you to attack systems. It teaches the everyday facts that security work is built on: what a computer and an operating system are, how networks carry data, how the web really talks, how to read code, and how a security consultancy does the job.

There is nothing to install. Every section is something to read, a few diagrams, sometimes a small thing to try in the browser you already have, and a short quiz so you can check yourself.

The promise is worth stating plainly. We call it field literacy, and it buys you two things:

Where it sits — the first step on a path

The work you are heading towards has a name in the industry: VAPT, short for Vulnerability Assessment and Penetration Testing. Finding the weaknesses in a system, then proving what an attacker could actually do with them. Becoming a VAPT professional is the destination, and this course is step one of three:

This is the only one of the three you can finish without touching a lab. That is on purpose — you should not be fighting a toolset while you are still learning what a port is.

How it complements the Beginner course

Here is the honest reason this course exists. The Beginner course assumes a set of things and never stops to teach them. It assumes you know what an HTTP request looks like before it shows you how to tamper with one. It assumes you can read a SQL query before it teaches SQL injection. It assumes you know what a config file is before it asks you to review one. A fresher who starts there spends the first week quietly lost — not because the material is too hard, but because the floor underneath it was missing.

So every topic here had to pass one of two tests to earn its place:

That is what makes this a complement rather than a separate subject. Nothing here is padding, and nothing here is a shortened copy of Beginner. It is the missing ground floor beneath it. Finish this and Beginner stops feeling like a foreign language: your attention goes to the testing instead of the words.

And if you have already begun the Beginner course and parts of it felt slippery, you are exactly who this course is for. Coming here first is not a step backwards.

What you will be able to do at the end

How to work through it

Take the modules in order; each one leans on the one before it. Read the section, try the browser exercises where they appear, then answer the quiz. Every module closes with a glossary and a recap so the new words stay put. Expect around seven hours in total. It is not a race, and re-reading a section is completely normal.

In short — this is the ground floor, not the building. It teaches the facts that hands-on security training assumes you already have, so that when you reach the Beginner course your effort goes into the testing and not the vocabulary. First step on the path to VAPT.

Quick check

  1. What is this course designed to do?

    It is a primer. It builds the everyday knowledge that later, hands-on training takes for granted — it does not teach attacking, and it is not exam preparation.

  2. Where does this course sit on the path towards VAPT work?

    The order is Pre-Security, then Beginner, then the Intermediate specialisms. This course comes first and covers different ground — the basics Beginner assumes.

  3. Why does a fresher often feel lost in their first hands-on training?

    The material is not too hard — the ground floor under it is missing. Filling that in is exactly this course's job.

1.1 · What a computer and an operating system are

Strip away the screens and apps and a computer does just three plain things: it stores data, it moves data, and it follows instructions to change data. Those instructions are a program. A program sitting on your disk is doing nothing — it is only a recipe. The moment you open it, the computer loads it into memory and starts running it, and that running copy is called a process. One program can become many processes: open three windows of the same browser and the system may run three separate processes from one program on disk.

The hardware underneath

The physical parts are the hardware. Three matter to you now:

A picture that sticks: RAM is your desk — big enough to spread out the work you are doing right now, but cleared every night. The disk is the filing cabinet — slower to reach into, but it keeps things for years. This is exactly why unsaved work vanishes in a power cut: it was only ever on the desk (RAM), never filed away (disk).

Where the operating system fits

You never speak to the hardware directly. Sitting between you and it is the operating system (OS) — Windows, Linux, macOS, Android. Think of it as the building manager. Dozens of processes all want the CPU, all want memory, all want to open files at once. The OS decides who gets what, keeps them from trampling each other, and gives every program one common way to reach the disk, the screen and the network.

You (the user) Programs / Apps (browser, editor…) Operating System (Windows / Linux) Hardware (CPU · RAM · Disk)
Each layer only talks to the one directly below it. Your apps ask the OS; the OS drives the hardware.

As a security tester you will meet two OS families constantly. Windows runs most corporate desktops and the Active Directory systems that manage them. Linux runs most web servers on the internet — and it will be the system on your own testing machine. You do not need to master either yet; you need to know which world you are standing in.

⌨ Try it yourself — see your processes

Every running program is a process, and your OS will list them for you:

  1. Windows: press Ctrl+Shift+Esc to open Task Manager, and look at the Processes tab.
  2. Mac: open Activity Monitor (Spotlight → type "Activity Monitor").

Notice how one app (your browser) can show up as several processes, and watch the memory (RAM) and CPU columns move. You are looking straight at the idea from this section.

In short — hardware does the work (CPU calculates, RAM is temporary, disk is permanent), a process is a running program, and the operating system is the manager that shares the hardware between all the processes.

Quick check

  1. What is the difference between a program and a process?

    The program is the recipe sitting on disk. The process is that recipe actually being cooked, in memory.

  2. You are typing a document and the power cuts out before you save. Why is the work usually lost?

    Unsaved work lives in RAM, which is temporary. Saving is what copies it to the disk, which is permanent.

  3. What job does the operating system mainly do?

    The OS is the manager in the middle: it decides which process gets the CPU, the memory and the files.

  4. Which OS family runs most of the web servers you will test on the internet?

    Linux dominates internet servers (and your own testing box). Windows dominates corporate desktops and Active Directory.

1.2 · Files, folders, paths and permissions

Everything on a disk is stored as files kept inside folders (also called directories). Because a folder can hold other folders, the whole disk forms a tree that branches down from a single starting point. The exact address that says where one file lives in that tree is its path.

Reading a path

Windows and Linux write paths a little differently, and you will read both every week:

SystemExample pathHow to read it
Linux/var/www/html/index.phpStarts at / (the root of everything), forward slashes between folders.
WindowsC:\Users\priya\report.docxStarts at a drive letter (C:), back slashes between folders.

Read the Linux example aloud: "inside root, inside var, inside www, inside html, the file index.php." That last path is worth remembering — /var/www/html is the classic home of a website's files on a Linux server, so you will see it constantly once you start testing web apps.

Permissions — who may do what

A file does not belong to everyone equally. For every file, the OS records three kinds of allowance: who may read it (r), who may write to it — that is, change it (w), and who may execute it — run it as a program (x). And it records those three for three groups of people: the file's owner, the owner's group, and everyone else (often called "world" or "other").

On Linux you will see this written as a nine-character string:

rwx r-x r-- Owner Group Everyone else read + write + run read + run read only
Nine characters, in three groups of three: owner, group, everyone else. A dash means "not allowed".

Permissions are the beating heart of a large share of security findings, so this pays off fast. A configuration file that everyone can read might hand a database password to any user on the machine. A folder that everyone can write to might let an attacker drop a malicious file where the server will run it. When you later hear a report say "this directory was world-writable," you will know it means the third group had a w — and why that is dangerous.

⌨ Try it yourself — read a path in your address bar

Open your computer's file explorer (File Explorer on Windows, Finder on Mac) and click into a few folders. Watch the path at the top grow, folder by folder. That trail — Users → priya → Documents → notes.txtis a path. You have been reading them all along without a name for it.

In short — a path is a file's full address in the folder tree, and permissions decide who can read, change or run it — split three ways between the owner, the group, and everyone else. Over-generous permissions are one of the most common weaknesses you will report.

Quick check

  1. Which of these is a Linux-style path?

    Linux paths begin at the root / with forward slashes. The second is a Windows path; the third is a Windows registry key.

  2. In the permission string rwxr-xr--, what can "everyone else" do?

    The final three characters are for everyone else: r-- means read only — no write, no execute.

  3. Why is a "world-readable" configuration file often a security problem?

    World-readable means the third group can read it. If it holds credentials, everyone on the machine can now see them.

  4. On a typical Linux web server, where do a website's files most often live?

    /var/www/html is the classic web root on Linux. Recognising it saves time the moment you start testing web apps.

1.3 · Meeting the command line

Everything so far, you have done by clicking. Consultants type. A terminal — also called a console, a shell or simply the command line — is a plain text window where you type one instruction, press Enter, and the computer runs it and prints its answer back as text. No icons, no mouse, no menus.

It looks unfriendly at first and it is worth pushing past that, because three facts of the job make it unavoidable:

The prompt

Before it will accept anything, the terminal prints a prompt — a short line that tells you where you are standing. Learning to read it removes most of the early confusion:

priya@webserver:/var/www/html$ who you are which machine which folder you are in your turn to type
On Windows the same idea reads C:\Users\priya> — a folder, then a symbol inviting input.

Notice what sits in the middle of that prompt: a path, exactly as you learned to read it in the last section. That is the real shift. In a file explorer the folder you are in is something you see; on the command line it is something you steer by, and half of all early mistakes are simply running a good command in the wrong folder.

Two families — Windows and Linux

You will meet two dialects, and clients run both. On Windows the older one is Command Prompt (cmd.exe) and the modern, far more powerful one is PowerShell. On Linux and Mac you are in a shell — usually bash or zsh — opened through an app called Terminal.

The ideas are identical; only the words change. These eight cover most of what a beginner ever needs:

What you wantWindows (Command Prompt)Linux / Mac
Where am I?cdpwd
What is in here?dirls -l
Go into a foldercd logscd logs
Go up one levelcd ..cd ..
Show a file's contentstype notes.txtcat notes.txt
Search inside filesfindstr password *.confgrep password *.conf
My network settingsipconfigip a
Which account am I?whoamiwhoami

One of those closes a loop from the previous section. Run ls -l on Linux and the first thing printed against every file is the nine-character permission string — rwxr-xr-- and friends. The thing you just learned to read is the thing the terminal shows you first.

Ordinary user, or administrator?

The terminal obeys whichever account started it, and that account has limits. On Linux the all-powerful account is called root; an ordinary user borrows its power for one command at a time by putting sudo in front (sudo cat /etc/shadow). On Windows the equivalent is Administrator, and you start the whole window with "Run as administrator".

Hold on to that distinction, because a large part of this career lives inside it. Testers very often get in as some ordinary, boring account and then hunt for a way up to root or Administrator. That hunt has a name you will hear constantly: privilege escalation.

Watch out — the command line does exactly what you typed, the instant you press Enter. There is no "are you sure?", and a file deleted from a shell does not wait in a Recycle Bin. On a real engagement that cuts both ways: run only what your scope permits, and read a command twice before running it on a client's server.

⌨ Try it yourself — open a terminal right now

  1. Windows: press Start, type cmd, press Enter. Mac: press Cmd + Space, type Terminal, press Enter.
  2. Type whoami and press Enter. The machine tells you which account you are.
  3. Type cd (Windows) or pwd (Mac) to see the folder you are standing in.
  4. Type dir (Windows) or ls -l (Mac) to list what is in it — and on a Mac, look at the permission strings down the left of the output.

Four commands, and the mystery is mostly gone. That is the whole purpose of this section.

In short — a terminal runs typed commands and prints text back. The prompt tells you who you are, which machine you are on and which folder you are in. Windows uses Command Prompt or PowerShell; Linux and Mac use a shell such as bash. Raised privilege comes from sudo or "Run as administrator", and climbing to it is called privilege escalation.

This is a first look, not the full tour. The Beginner course puts you inside a real Linux shell for hours and teaches these commands properly — the aim here is only that the black window already feels familiar when you get there.

Quick check

  1. In the prompt priya@webserver:/var/www/html$, what does the middle part tell you?

    The prompt reads as user, then machine, then the current folder — a path, exactly as in section 1.2.

  2. Which pair does the same job on Windows and on Linux?

    Both list what is in the current folder. type pairs with cat, and cd pairs with cd.

  3. What is sudo used for on Linux?

    sudo borrows administrator (root) privilege for a single command. Windows does the same with "Run as administrator".

  4. A tester gets in as a low-privileged user and works up to root. That is called:

    Moving from an ordinary account up to root or Administrator is privilege escalation — a goal on most engagements.

1.4 · Binary and hexadecimal — counting like a computer

Underneath every photo, password and web page, a computer stores only two states: on and off, written as 1 and 0. A single 1-or-0 is a bit — the smallest possible piece of data. On its own a bit says almost nothing, so we group them.

Group eight bits together and you get a byte. Eight on/off switches can be arranged in 2×2×2×2×2×2×2×2 = 256 different patterns, so one byte can hold any value from 0 to 255. This is why so many limits in computing stop at 255 or 256 — that is simply one byte's worth of room.

1 byte = 8 bits 0 1 1 0 0 0 0 1 256 possible patterns → the values 0 to 255
Eight bits make a byte. This pattern happens to be the number 97 — which, as the next section shows, is also the letter "a".

Binary is base 2

Counting with only two digits is called binary, or base 2. You already count in base 10 — ten digits, 0 to 9, and when you run out you add a column (9 → 10). Binary works the same way with only two digits, so it runs out of room faster: 0, 1, then straight to 10 (which means two), 11 (three), 100 (four). You will never have to do this by hand on the job; the point is to recognise a string of 1s and 0s as a number.

Why hexadecimal shows up everywhere

Long runs of 1s and 0s are miserable to read and easy to miscount, so we compress them with hexadecimalbase 16. Hex uses the digits 0–9 and then, because it needs six more, the letters A, B, C, D, E, F for the values ten to fifteen. The magic is that each hex digit stands for exactly four bits, so a whole byte becomes just two neat hex digits.

Base 10 (normal)Binary (base 2)Hex (base 16)
101010A
151111F
161 000010
2551111 1111FF

You will meet hex the moment you start: colours on a web page (#00b4ff is this course's blue), memory addresses in tool output (often marked with a leading 0x, as in 0x1F), and the random flags in a lab such as SESMO{a3f9c2e1...} — those braces are full of hex characters. You do not convert them in your head; you recognise them so nothing looks like a mystery.

⌨ Try it yourself — hex is a colour

Search the web for "color picker". Drag the picker around and watch the # value change, e.g. #00B4FF. That is three bytes of hex — red, green, blue — each a pair of hex digits from 00 to FF (0 to 255). Pure blue is #0000FF: no red, no green, maximum blue. You are reading bytes.

In short — computers store bits (1s and 0s); eight bits make a byte holding 0–255. Binary is base 2, and hexadecimal is a tidy shorthand for binary — two hex digits per byte — that you will see in colours, addresses and flags.

Quick check

  1. How many bits are in a byte, and how many values can it hold?

    Eight bits make one byte, and eight bits can be arranged 256 ways — the values 0 to 255.

  2. You see the value 0x1F in a tool's output. What does the 0x tell you?

    0x is the standard marker for hexadecimal. 0x1F is 31 in ordinary decimal.

  3. Why do we use hexadecimal instead of writing everything in binary?

    Hex is compact: eight binary digits collapse into two hex digits, which is far easier to read and compare.

  4. In the hex colour #00B4FF, roughly what is happening?

    A hex colour is three bytes: 00 red, B4 green, FF blue.

1.5 · Text as numbers — ASCII, Unicode, URL-encoding and base64

If a computer only stores numbers, how does it store the letter A? By everyone agreeing on a table that maps each character to a number. The old, simple table is ASCII, in which A is 65, a is 97, and the digit 0 is 48. ASCII only covers English, so the modern, far larger table is Unicode, which has a number for every character in every language, plus emoji. Hold onto one idea from this: text is just numbers wearing a costume. That is why the byte in the last section's diagram (97) was also the letter "a".

Two encodings you will see every day

An encoding is a reversible way of rewriting data so it can travel through a channel that would otherwise mangle it. Two encodings matter enormously in web security:

Here is the point that everything later depends on: encoding hides nothing. Anyone can turn base64 or URL-encoding back into the original in a second, with no password. It changes how data looks, never whether it is secret. It is a costume, not a lock — and the next section makes that difference sharp.

⌨ Try it yourself — decode base64 in the browser console

Open your browser's Console (press F12, then click the Console tab), type this line and press Enter:

atob("YWRtaW4=")

The browser prints "admin". atob is the built-in "decode base64" function. Try atob("cGFzc3dvcmQ=") too. Notice you needed no key — that is the whole lesson: base64 is not protection.

In short — characters are stored as numbers via tables like ASCII and Unicode. URL-encoding and base64 are reversible rewrites that let data travel safely — they scramble the look of data, never its secrecy. Anyone can decode them instantly.

Quick check

  1. You spot YWRtaW4= in a web request. What is the most likely thing you are looking at?

    The trailing = is a strong hint of base64. It is encoding, not encryption, so anyone can reverse it.

  2. In a URL you see %20. What is it?

    URLs cannot carry spaces, so a space travels as %20 — a percent sign and two hex digits.

  3. Text is stored as numbers. Which table gives a number to characters in every language, plus emoji?

    ASCII only covers basic English characters. Unicode extends the idea to every script in use, and to emoji.

  4. What is the key security point about encoding like base64?

    Encoding needs no key, so it offers no secrecy at all. It is a costume, not a lock.

1.6 · Encoding vs Encryption vs Hashing

These three words get mixed up constantly, and confusing them will trip you up on your very first day. They are genuinely different jobs done for different reasons. The fastest way to keep them straight is to ask two questions of each: can you reverse it? and do you need a key?

Encoding admin YWRtaW4= ↔ reversible, no key Encryption secret →🔑→ 8f#kQ!z ↔ reversible WITH key Hashing password 5e88…a3 ✗ one-way, no way back
Same-looking scrambles, three different jobs. The arrow back is the whole story.
TechniqueReversible?Needs a key?What it is for
Encoding (base64, URL)Yes — triviallyNoSafe transport of data. No secrecy at all.
Encryption (AES, the "S" in HTTPS)Yes — but only with the keyYesSecrecy. Only key-holders can read it.
Hashing (SHA-256, bcrypt)No — one-wayNoFingerprinting. Verify without storing the original.

Why the difference decides a real finding

Picture a website that stores your password. If it merely encodes it, then anyone who steals the database reads every password instantly — a serious flaw, because encoding is not protection. If it encrypts the passwords, a thief also needs the key, which is better but still means the plain passwords exist somewhere. The right answer is to hash them: the site stores only a one-way fingerprint, and at login it hashes what you typed and compares fingerprints. It never keeps your actual password at all — so even the site, and even a thief with the whole database, cannot turn a good hash back into your password.

That is why, when you read a finding that says "passwords were stored base64-encoded," you now know in one beat why it is bad and what the fix is: encoding is not protection; passwords must be hashed. This single distinction quietly underlies a large slice of the web security you will learn next.

Watch out — "encrypted" gets used loosely in conversation to mean "scrambled somehow". As a tester, be precise: if there is no key, it is not encryption. Sloppy language here hides real weaknesses.

In short — encoding = reversible, no key, no secrecy. Encryption = reversible only with a key, for secrecy. Hashing = one-way, for fingerprinting. Passwords should be hashed, never merely encoded.

Quick check

  1. A site stores passwords as base64. Why is this a serious weakness?

    Anyone who reads the database can decode every password instantly. Passwords must be hashed, not encoded.

  2. Which technique is one-way — you cannot get the original back from the result?

    Hashing is one-way by design. Encryption reverses with the key; encoding reverses with nothing.

  3. What single thing separates encryption from encoding?

    The key is the whole difference. Without it encryption cannot be reversed; encoding can always be reversed by anyone.

  4. How can a website check your password at login without storing the password itself?

    The site stores only a hash. At login it hashes what you typed and compares fingerprints — the real password is never kept.

1.7 · Signing & digital signatures

One more idea from the same family, and it trips people up even more than the last three — often for years. In the previous section, encryption used a key to hide something. A digital signature does almost the opposite job: it does not hide anything, it proves something. It answers two very ordinary questions about any file: who made this, and has it been changed since?

Here is the everyday version. Imagine you seal a letter with a wax stamp pressed from a ring that only you own. Anyone can look at the sealed letter and recognise your stamp, so they know it came from you — and if someone steams it open and edits it, the broken seal gives the tampering away. A digital signature is that wax seal, done with maths instead of wax.

The new idea: a pair of keys

The encryption in the last section used a single key — the same secret both locks and unlocks. Signing uses something different: a matched pair of keys that belong together. This one idea is the whole trick, so hold on to it:

KeyWho has itWhat it does
Private keyKept secret by the maker — nobody else.Creates the signature. This is the “signing”.
Public keyGiven out freely to everyone.Only checks a signature — it can never create one.

So you sign with the private key that only you hold, and the rest of the world verifies with the public key you handed out. Because only your private key could have produced a signature your public key accepts, a valid signature proves two things at once: it came from you, and not a single byte has changed since you signed it.

Sign file 🔑 private key the maker's secret signature a sealed stamp Verify file + signature 🔑 public key shared with everyone answers 2 questions ✓ from the real maker, and not one byte changed → trusted ✗ wrong signer, or a byte was altered → the check fails
Sign once with the secret private key; anyone can check it with the shared public key.

Why a changed byte breaks the seal

This is where the last section pays off. Under the hood, signing leans on hashing. To sign a file, the maker first takes its hash — that one-way fingerprint you just met — and then seals that fingerprint with the private key. To verify, your device hashes the file again for itself and checks the sealed fingerprint against it. Change even one byte of the file and its fingerprint comes out different, so it no longer matches the sealed one, and the signature fails. That is how a signature notices tampering without needing to know what the file was “supposed” to say.

Where you already meet signatures

You rely on signatures every day without seeing them:

Watch out — a signature proves who and unchanged; it does not hide the contents. Signing and encryption are different jobs — a file can be signed but still readable by anyone. Keep the two apart, the same way you kept encryption and hashing apart.

In short — a digital signature is a wax seal made of maths: you sign with a private key only you hold, and anyone verifies with the public key you share. It proves who made a file and that no byte has changed since — and because it seals a hash of the file, a single altered byte makes the check fail.

Quick check

  1. Which key is used to create a signature?

    You sign with the private key only you hold. The public key can only check a signature, never make one.

  2. What does a valid signature on a file prove?

    A signature proves origin and integrity — who signed it, and that it is unchanged. It does not hide the contents.

  3. Change one byte of a signed file. Why does the check now fail?

    Signing seals a hash of the file. A changed byte gives a different hash, so the sealed fingerprint no longer matches.

  4. Which of these is an everyday use of a digital signature?

    Your device installs an update only if it is signed by the same maker — proof it is genuine and unchanged.

Module 1 glossary

The words from this module, in one place. If any feel shaky, re-read that section before moving on.

Process
A program while it is actually running in memory. One program can be several processes.
CPU / RAM / Disk
The calculator; fast temporary memory (lost on power-off); slow permanent storage (kept).
Operating system (OS)
The manager between you and the hardware — shares CPU, memory and files among processes.
Path
A file's full address in the folder tree, e.g. /var/www/html/index.php.
Permissions (r/w/x)
Who may read, write (change) or execute (run) a file — set for owner, group and everyone else.
Terminal / shell
A text window where you type commands and read text replies. Windows uses Command Prompt or PowerShell; Linux and Mac use bash or zsh.
root / Administrator
The all-powerful account on Linux / on Windows. Borrowed one command at a time with sudo, or by "Run as administrator".
Privilege escalation
Getting from an ordinary account up to root or Administrator — a goal on most engagements.
Bit / Byte
A single 1-or-0; eight bits grouped together, holding a value 0–255.
Binary / Hexadecimal
Base 2 (only 1s and 0s); base 16 (0–9 then A–F) — a short way to write bytes.
ASCII / Unicode
Tables mapping characters to numbers — small/English vs large/all-languages.
Encoding
A reversible rewrite for safe transport (base64, URL-encoding). No secrecy.
Encryption
A reversible scramble that needs a key. Provides secrecy.
Hashing
A one-way fingerprint. Used to check passwords without storing them.
Public / private key
A matched pair: the private key (kept secret) creates a signature; the public key (shared) only checks one.
Digital signature
A sealed stamp on a file proving who made it and that no byte has changed since.
Signing
Attaching a digital signature to a file using the maker's private key.
Certificate
An ID card carrying a public key plus its owner's details — how a website proves who it is.

Recap — what you can now do

  • Explain what a computer, a process and an operating system are, and how they stack.
  • Read a file path and reason about permissions and why loose ones are dangerous.
  • Open a terminal on Windows or Linux, read the prompt, and run the handful of commands that get you moving around.
  • Recognise bits, bytes, binary and hex, and know why hex appears in colours, addresses and flags.
  • See text as numbers, and read URL-encoding and base64 for what they are.
  • Tell encoding, encryption and hashing apart — the idea that powers much of web security.
  • Explain what a digital signature is — a private key seals a file, and a public key proves who made it and that it has not changed.

End-of-module quiz

  1. Which pairing is correct?

    RAM is the temporary desk; the disk is the permanent filing cabinet.

  2. A flag reads SESMO{9f2ac4}. The characters inside are…

    Only 0–9 and a–f appear — that is hex, the format these random flags use.

  3. You must let a site verify passwords but never be able to reveal them, even if its database is stolen. Use…

    Hashing is one-way: the site compares fingerprints and never stores the real password.

  4. A directory is described as "world-writable". Why might an attacker care?

    World-writable gives the third permission group the w right — dangerous if the server executes what lands there.

  5. What does verifying a file's digital signature tell you?

    A signature proves origin and integrity — the signer's identity, and that no byte has changed. It does not hide or encrypt the file.

Module takeaway — you now know what a computer, a process and an operating system are; how files, paths and permissions work; how to open a terminal and read its prompt; and how data is represented as bits, bytes, hex and text. Above all, you can tell encoding, encryption and hashing apart, and read a digital signature for what it proves — who made a file, and that it has not changed — the quiet engine under much of web security. Next, we follow the wire: how machines find and talk to each other.