Data Security

Encryption, network attacks, memory corruption, injection and access control.

Introduction & Encryption

Encryption algorithms transform data to protect its confidentiality. Data that has not been encrypted is called plaintext ; encrypting the plaintext produces ciphertext ; decrypting the ciphertext recovers the original…

Port Scanning & Firewalls

The Internet is a network of computers, or hosts , that exchange messages over connections . Those messages are split into small packets of data (often 1–2 KB), which can be interleaved so the network can be shared…

Buffer Overflows & Fuzzing

A buffer is a block of memory (or other storage) used to hold data temporarily. Three ordinary examples show why buffers are so common, and so easy to get wrong: a calculator program storing a user's typed input until…

SQL Injection

This page covers what SQL injection is, how attackers exploit it, the impact it can have, and how to prevent it — the A03:2021 "Injection" category of the OWASP Top 10 .

Unix Permissions

Unix-like systems control access to files, directories, devices and other system resources through a permission model whose core principle is simple: every access decision is based on the identity of the requesting user…