Terminology

Programming

Pointer

Variable that contains the RAM address of another variable or function

Dereference

To access an address as a variable

Polymorphism

A class having derivative classes that retain similar attributes, but have extra, more precise attributes in the subclass

Super class

The father class of derivative classes in a polymorphism

Array

A datatype that holds several values. For instance, an array called fruits may have various strings named apple, banana, orange, grape, and so forth

2D Array

2d arrays refer to arrays that have horizontal and vertical registers. A normal array will have objects at registers [0], [1], [2], and so forth. a 2darray can store an object at positions such as [1][2].

Class

A class refers to a section of code that defines new datatypes and the attributes they have, along with methods relating to these datatypes

Static

Type of variable or method that is performed on a specific object or instance of a class

Global

Type of variable that applies outside of classes in the main code.

Thread

A process of code. Multiple threads mean that multiple processes are being done at once, therefore there is concurrency.

Void

Type of function that does not return a specific value when completed

Function

Process that is done to a variable defined by the language, like a print function.

Method

A function, but defined in a class by the coder.

Iterable

A datatype where a function can be applied to several objects within the datatype, such as a list.

String

The datatype of text.

Integer

The datatype of an integer.

Float

The datatype of a number with a decimal place.

Statement

Code that is run while a certain condition is met or the datatype is exhausted, such as if statements and for loops.

Loop

A statement that will repeat until a certain condition is met or an iterable is exhausted.

Opcode

A process used in low level languages. They often do small tasks such as increasing a variable, halving variable, or store a value at a RAM address.

Comment

Text ignored by compiler, used as a way of explaining the code to other people looking at source code.

Tag

Form used by HTML to specify the type of media that will be displayed

Attribute

Variables used within HTML tags to describe the nature of the data that a tag will display

Operator

Symbol used to perform mathematical processes on a variable, such as +, -, *, /, and =.

Double

The datatype of a number with a decimal place.

Boolean

The datatype that returns either true or false.

Character

The datatype of a string with a length of one symbol.

Variable

An object that is linked to data, information in essence.

Integer

The datatype of an integer.

Recursion

Calling a function within its own function

Initialisation

Creating a variable

Declaration

Creating a variable and assigning it a value

Assignment

Giving a variable a value

Stack

Data structure of values that can only be accessed in a linear order (FILO)

Heap

FILO

First In Last Out; data access order where the latest value added to the stack is the value that first value that can be taken off and the oldest value on the stack is the last value to be taken off

Contiguous allocation

Blocks are in order of creation, accesses at speed O(1)

Chained allocation

Previous block holds location of the address of the next block in sequence, accesses at speed O(n)

Indexed allocation

Index block holds list of addresses for blocks for a file, and points to another index block if more space is needed, accesses at speed O(log(n))

Endianess

The order in which high and low address bytes are read

Hardware

Key cap

Labelled button on keyboard used for typing

Switch

Mechanism that completes a circuit when pushed down, under each key cap

Mechanical keyboard

Keyboard using switches to complete circuit

Membrane keyboard

Keyboard using membrane layer with rubber domes to complete circuit

PCB

Printed Circuit Board; board that contains the circuits for each buttons to send to the computer

Hot swappable

Keyboard that allows to swap switches without soldering

Operating force

Force exerted onto the switch

Stabiliser

Allows for wider buttons to focus operational force from ends of the key cap onto the switch

Activation point

Y position where the switch registers an input

Reset point

Y position where the switch is ready to receive new input

Travel distance

Distance between the key and activation point

Watt

Unit of power, measured by amperes times voltage

CPU

Central Processing Unit; the hardware in computer responsible for all arithmetic, controlling RAM and and general processing

ISA

Instruction Set Architecture

Cache

Responsible for holding frequently used memory closer to CPU for more speed

L1

Type of cache that is fast but small in terms of storage

L2

Type of cache

L3

Type of cache that is slow but large in terms of storage

GPU

Graphics Processing unit; responsible for processing graphics and has extra resources to assist CPU

APU

CPU with integrated GPU

Microcontroller

Motherboard

Main circuitry of a computer, connects all components together and provides female connections (for external devices, can't actually get you a girl)

PSU

Power Supply Unit; distributes power through the motherboard and the HDD

VGA

Capacitor

Transistor

Resistor

Controls the voltage of circuitry

Master

Device or process that controls one or several devices or processes

Slave

Device or process controlled by a master

HDMI

High Definition Multimedia Interface

ATX

Advanced Technology eXtended; case following standard that: - Case can hold a motherboard - Case can hold a GPU - Case has front hardware panel

FPGA

Field Programmable Gate Area; physical component that can be programmed with hardware description language

BIOS

Basic Input Output System; Firmware on a motherboard

EFI

SATA

Serial AT Attachment; system for connecting storage devices with independent cables

CRT

LED

OLED

QLED

LDC

Grounding

The act of connecting something to earth to remove all static electricity

USB-A

Universal Serial Bus A;

USB-C

Refined version of USB-A, that can handle more power and higher data transfer rates

PS2

HDD

Hard Disk Drive;

SSD

Solid State Drive;

ROM

Read Only Memory; Non upgradable firmware on a chip

Mainframe

LArge corporate computer made for mass processing of data

RAM

Random Access Memory; Volatile memory used for storing tempoary variables for programs

DDR

Double Data Rate; Type of RAM that has double the transfer rate as SDR

RGB

Red Green Blue; Colour system of 2363 possibilities, can be used on fans and keyboards to look ultra sexy

Core

Hertz

Unit of measuring frequency per second

Bit

Unit of measuring memory, where a bit is a 1 or 0

Byte

Unit of measuring memory, with as byte representing 8 bits

POST

Power On Self Test;

VRM

Voltage Regulator Module;

CMOS

Complementary Metal-Dxide-Semiconductor; Conductor that retains BIOS memory

DVI

Digital Visual Interface; successor to VGA

DisplayPort

EMMC

PATA/IDE

Parallel AT Attachment; system for connecting storage devices in parallel with one wide cable

TPM

Trusted Platform Module; microcontroller that offers cryptography on hardware level

Speaker channels

Speaker.Subwoofer.HighSpeakers

Speaker

Sound producing mechanism

Subwoofer

Speaker that produces low bass sounds

Thermal paste

Paste that allows heat to be conducted easily though CPU to a heatsink

Wafer

1mm thick disc of silicon extracted from sand, on which CPU dies are made

Photolithography

The process of using light to etch microscopic incisions into a wafer, making the CPU dye

Flop

Unit of measuring quantity of floating point processes that a computer can handle per second

Printer

Device used to display computer documents on physical paper

Toner

Powdered color used in printers

Ink cartridge

Cartridges of ink used in printers

Fuser

Fuses the toner ink to the paper

RAID

Redundancy Array of Independent Disks; method of using multiple drives that store the same data so that in case one drive fails, the data is still acessible on another drive

Hot swapping

Changing hardware successfully without rebooting or powering down

Cold swapping

Changing hardware successfully only by rebooting or powering down

Networking

DHCP

Dynamic Host Configuration Protocol; Protocol for routers to provide a local IP to devices

OSI model

Layers of a network

Twisted pair

Wires crossed to minimise electromagnetic interference

Category 6 cable

Twisted pair cable for ethernet

Ethernet

MPLS

Multi Protocol Label Switching; Routing LANs to connect to other LANs

RFC1918

NAS

Network Attached Storage;

CE

Customer Edge; Personal router in a MPLS WAN

PE

Provider Edge; Provider's router in an MPLS WAN

Fiber Optic

Cable made from glass that uses light to send signals

Attenuation

Degradation of a signal as it travels through a wire

PoE

Power over Ethernet; uses unused wires in ethernet cables to provide power to devices

Octet

Quarter of an IP (numbers between the dots)

Broadcast address

IP address that broadcasts packet to all devices on its LAN (192.168.1.255)

LAN

Local Area Network; Network for a small area and one entity (such as a business)

WAN

Wide Area Network; Collection of LANs

Subnet mask

32 bit number with similar structure to IP that tells which octet of an IP is dynamic (0 for dynamic, 255 for otherwise)

IP

Internet Protocol; Identifies a node on a network

Websocket

Protocl that allows for full duplex communication through TCP

MAC

Identifies a device

Server

A networked device that can be connected to clients to give them specific functionality

Database

A storage server

IEEE 802.11

Wi-Fi

SSID

Service Set IDentifier; Name of a Wi-Fi network (that you can assign)

TCP

Type of protocol that requires a handshake before the transmission of data. Is also sequenced, as in, one packet is sent at a time.

UCP

Type of protocol that doesn't requires a handshake before the transmission of data and is therefore consequently less reliable but faster. It is also unsequenced.

NIC

Network Interface Card;

Port

One of 65525 protocols that can be used

Router

Connects a LAN to another network and distributes traffic to the nodes correctly

Bridge

Hub

Device that connects all nodes to a network. It is a thin client that sends data to all devices connected when data is received and amplifies signals of any transmitted data

Switch

Device that connects nodes together. It is a fat client that sends data to a specific node connected to the switch.

Topology

Structure of a network

Hybrid topology

Mixed topology

Star topology

Mesh topology

Wireless topology

Ring topology

A circuit with nodes embeded around

Bus topology

A single path that extends to several nodes with a terminator at each end

TCP

Type of protocol that requires a handshake before the transmission of data. Is also sequenced, as in, one packet is sent at a time.

UCP

Type of protocol that doesn't requires a handshake before the transmission of data and is therefore consequently less reliable but faster. It is also unsequenced.

CRC

Cyclic Redundancy Check;

Parity checking

Adds extra bit to each byte which is 1 if amount of 0s and 1s is even and 0 if they aren't. If the parity doesn't match the signal is retransmitted

Check sum

Token ring

Collision checking on a ring topology, only node with the token can transmit data

CSMA/CD

Checks if data is being sent on a LAN, if not, the data is sent

Share

File on a server

NFS

Network File System; File system over a server

DFS

Distributed File System

RSS

Really Simple Syndication; a web feed system that can be used with HTML

Bandwidth

Maximum rate of data that can be sent across a path

Baud rate

Maximum amount of signals transmitted per second (measured in hertz)

Bit rate

Maximum amount of bits transmitted per second (measured in bits per second)

AWS

Amazon Web Services; Hosted computing through servers, let you set up VPSs

Packet

A set of data transmitted on a network through a certain protocol.

GET

HTTP method to request data

POST

HTTP method to send data

Firewall

System that opens and closes network ports

VoIP

Voice over Internet Protocol;

SSE

Server send events, signals sent between multiple servers, used in the handshake process.

Physical layer

Refers to physical attributes of a network (cables, routers, etc)

Data link layer

Refers to basic techniques of identifying nodes on a network (usually by MAC address)

Network layer

Refers to protocol of routing data across networks

Transport layer

Refers to reliable delivery of packets

Session layer

Refers to sessions between network applications

Presentation layer

Refers to conversion of data so that it is in a suitable format for the receiver

Application layer

Refers to applications accessing transmitted data

RJ45

Registered Jack 45; Cable with 8 positions and 8 wires

Payload

Actual data of a packet

VPN

Virtual Private Network; two private networks connected over a public network, data transmitted between is often protected by encryption, but not necessarily

HTTP

HyperText Transfer Protocol;

SSL

Secure Socket Layer; certificate based protocol that ensures data confidentiality, integrity, and authentification

SSH

Secure Shell;

FTP

File Transfer Protocol; protocol for exchanging files between a network

SMTP

Simple Mail Transfer Protocol;

SNMP

Simple Network Management Protocol; protocol that allows for different protocols to converse with eachother

SMB

Server Message Block; protocol that offers shared access to files on a network

CIA Triad

Ideal characteristics of a network; Confidentiality, Integrity, Availability

IEEE

Institute of Electrical and Electronics Engineers; Institution that creates the networking standards

Simplex

One way communication, like a radio

Half-Duplex

Two way communication, but not simultaneously, like a walkie talkie

Full-Duplex

Integral two way communication, like a phone call

Telnet

DNS

Domain Name System; applies worded HTTP links to IP addresses (google.com is a domain name, where 142.250.66.238 is just an IP)

Class A IP

IP from range 1.0.0.0 to 127.0.0.0 with a subnet mask of 255.0.0.0

Class B IP

IP from range 128.0.0.0 to 191.255.0.0 with a subnet mask of 255.255.0.0

Class C IP

IP from range 192.0.0.0 to 223.255.255.0 with a subnet mask of 255.255.255.0

COM

Communication port

LPT

Line printer terminal; used for connecting printers physically

DSS

Direct Station Selection; Allows for phone number extensions (making it possible to transfer call to other people on a network)

POP

Post Office Protocol; common email protocol

Cookie

Data shared by user and server for webpages

Kerberos

An authentification protocol using encryption and third parties and using timed tokens to permit user network activity

NTLM

NT LAN Manager; security protocols for Windows NT OS

TGT

Ticket Granting Ticket

TGS

Ticket Granting Server

AS

Authentification Server

KDC

Key Distribution Center; third party including the TGS and AC

Cyber security

Cross site scripting

Also known as XSS, when an attacker abuses user input to execute javascript. This can change the code of a site and perform activities such as stealing cookies or making users of the site perform unwanted activities.

SQL injection

Abusing the syntax of SQL to bypass passwords. This is done by entering a string that is misinterpreted to be apart of the SQL code and interprets the entered details as code to allow the attacker in.

Command execution

When a website uses an unsanitized function where it refers to the terminal, attackers can take advantage of this to use the system terminal to recall passwords and system files

Buffer overflow

Entering data that exceeds the buffer (expected length of daya), overflows into the system code and can be used to execute malicious scripts or crash a server

Reflected XSS

Abusing links that use javascript queries to make the link perform certain actions, then phishing someone to use this link. This is often used for session hijacking as a command to steal one's cookies is possible

Horizontal escalation

Modifying cookies to pretend to be another user who has higher privileges

Vertical escalation

Modifying POST request to trick the system into giving higher privileges

Zero-Day exploit

Exploit not shared to software vendor and hence has high success at working

Denial of service

When a node consistently pings a network so as to create unnecessary traffic and crash the network

Finger printing

Finding details about the network in question, such as the operating system and open ports.

MAC flooding

Sending many packets to a switch so that the MAC address table which it uses to know what packets to send to which device is a victim to a buffer overflow and hence the switch becomes more like a hub, sending the packets to every node. This makes it easier to sniff the traffic

ARP poisoning

Sending many packets to the ARP (Address Resolution Protocol) table that matches MAC addresses to their local IP, creating a buffer overflow and confusing the table so that the switch resorts to acting like a hub. This makes it easier to sniff traffic as the data usually sent to a single machine is broadcasted over an entire network.

DNS poisoning

sending false packets to the DNS (Address Resolution Protocol) table that matches the DNS to their IP, so that the DNS redirects to the incorrect IP that the attacker manages. This allows for the victim to connect to the attacker and initiate a reverse shell

Reverse shell

Baiting a victim to connect to the device of the attacker, which they can then use to gain remote code execution.

DLL injection

When a DLL file with malware is inserted into the Windows API so as to perform functions that can escalate privilege and other stuff. Requires some remote command execution to perform

Struct

Short for structure, refers to a datatype in C that is made up of sub variables with datatypes such as strings, integers and so forth. This is pretty much the same as an object of a class, the only difference that a struct is public by default

Meterpreter

Command line in Metasploit through which DLL injections and such take place

Shell

The connection between a user and device through either a command line interface (CLI) like a console or a graphic user interface (GUI) like a desktop.

TTY

Teletype, an input and output environment for a system.

Pipeline

The path of input to several programs to display an output or error.

Race condition

When one thread is faster than another and is executed first

Signature based detection

Flagging malicious exploits by recognising a certain identifier in them (i.e code unique to that file, the file's hash etc)

Obfuscation

Making the intention of a program unclear to antivirus software

Heuristic based scanning

Examining exploit file, looking for suspicious properties

Behaviour based scanning

Examining exploit file, looking for suspicious activities

DPI

Deep Packet Inspection; Refers to analysing a packet's information from the network to the application layer

Padding oracle attack

Uses an oracle that leaks the amount of padding to reverse CBC encryption

Serialisation attack

Sending data to be deserialised and be executed in memory

Timing attack

If a program that takes a file has a time interval, files can be swapped around with symlinks so that it returns a processed version of the file the attacker wants to see. This is good for when the output gives lots of information about the original file (such as an encrypted version or if we're lucky enough, the file itself)

Segmentation fault

Writing to illegal positions (such as addresses that don't exist, outsite the allocated RAM and so forth)

Hash length extension attack

Cracking hashes by knowing the length of the result

SSRF

Server Side Request Forgery; Sending malformed packets that access restricted areas of a server

Known plaintext attack

Rewrite attack

LFI

Local File Inclusion; Devising a way to access a local file of the victim

XXE

XML eXternal Entity;

SQL truncation attack

Overflowing an SQL entry limit with a string containing an existing account name, allowing duplicated access to an account

to sort

RAID 0

RAID 1

RAID 2

RAID 3

RAID 4

RAID 5

RAID 6

PID

Process ID; number assigned to a process on a machine

DCT

Discrete Cosine Transformation; compression method for images and audio by representing distribution of shade or noise by the sum of two cosine waves with their own varying frequencies; one vertical wave and one horizontal wave

Mirroring

Copying a disk's data to another disk in real time, making a redundant copy

Striping

Storing a file's blocks across several disks

Parity

Reserving one bit (called a parity bit) for error checking by making that bit make the number of 1s or 0s in that byte even, so that if one bit is flipped, an error is raised

Cryptography

RSA

Asymmetric encryption made by two americans and a jew.
(m)ed≅ (mod n)
Where m is the message
e is the public key
d is the private key
n is the second public key

PGP

Pretty Good Privacy; Encryption method

CBC

Cipher block chaining; asymmetric encryption method that requires padding to make plaintext match the same length as the IV
Ci=E()

IV

Initialisation Vector;

Modulus

Lots of encryption relies on the remainder of a division, and a modulus is the divisor and returns the remainder of the number divided by the modulus

Padding

Extra data added to a message for either obfuscation, or to meet encryption requirements

Hash

Giving a code on data to enforce integrity, these functions are many (plaintext) to one (hash)

Encryption

Obfuscation system to make reading messages only possible with a key. These functions are one (plaintext) to one (encryption)

Symmetric encryption

Encryption that requires one key to both encrypt and decrypt

Asymmetric encryption

Encryption that requires one key to encrypt and another to decrypt

Linear feedback shift register

🄯 ".date("Y")." zaco

"; ?>