bkoczo

🐧 💻

Intro to Programming Languages

15 / 234 9924 / 33461


Commands

Time of First Successful Submission: 2026-04-18 12:49:29

Command Arguments

Time of First Successful Submission: 2026-04-18 12:50:25

Command History

Time of First Successful Submission: 2026-04-18 12:51:07

The Root Path

Time of First Successful Submission: 2026-04-18 13:03:52

Absolute Paths

Time of First Successful Submission: 2026-04-18 13:06:47

Changing position

Time of First Successful Submission: 2026-04-18 13:08:31

Changing to an Absolute Path

Time of First Successful Submission: 2026-04-18 13:10:40

Relative Paths

Time of First Successful Submission: 2026-04-18 13:12:21

Cat

Time of First Successful Submission: 2026-04-18 14:32:15

Ls

Time of First Successful Submission: 2026-04-18 15:01:39

Ls All

Time of First Successful Submission: 2026-04-18 15:26:55

Find

Time of First Successful Submission: 2026-04-18 16:17:47

Piping Echo

Time of First Successful Submission: 2026-04-19 11:33:10

Piping Stdout

Time of First Successful Submission: 2026-04-19 11:35:18

Piping Stdin

Time of First Successful Submission: 2026-04-19 12:15:31


Start Here

12 / 12 2142 / 45309


Using the Terminal

Time of First Successful Submission: 2026-04-18 09:57:36

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-18 10:02:23

Using the GUI Desktop

Time of First Successful Submission: 2026-04-18 10:05:03

Pasting into the Desktop

Time of First Successful Submission: 2026-04-18 10:07:51

Restarting Challenges

Time of First Successful Submission: 2026-04-18 11:35:37

Challenge Programs

Time of First Successful Submission: 2026-04-18 11:43:36

The Flag File

Time of First Successful Submission: 2026-04-18 11:48:33

Using Privileged Mode

Time of First Successful Submission: 2026-04-18 11:54:11

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-18 12:02:32

Persistent Home Directories - Two

Time of First Successful Submission: 2026-04-18 12:03:14


Linux Luminarium

128 / 128 2905 / 33899


Intro to Commands

Time of First Successful Submission: 2026-04-18 12:49:29

Intro to Arguments

Time of First Successful Submission: 2026-04-18 12:50:25

Command History

Time of First Successful Submission: 2026-04-18 12:51:07

The Root

Time of First Successful Submission: 2026-04-18 13:03:52

Program and absolute paths

Time of First Successful Submission: 2026-04-18 13:06:47

Position thy self

Time of First Successful Submission: 2026-04-18 13:08:31

Position elsewhere

Time of First Successful Submission: 2026-04-18 13:10:40

implicit relative paths, from /

Time of First Successful Submission: 2026-04-18 13:12:21

explicit relative paths, from /

Time of First Successful Submission: 2026-04-18 13:14:28

implicit relative path

Time of First Successful Submission: 2026-04-18 13:18:13

home sweet home

Time of First Successful Submission: 2026-04-18 13:25:48

cat: not the pet, but the command!

Time of First Successful Submission: 2026-04-18 14:32:15

catting absolute paths

Time of First Successful Submission: 2026-04-18 14:32:53

more catting practice

Time of First Successful Submission: 2026-04-18 14:35:49

grepping for a needle in a haystack

Time of First Successful Submission: 2026-04-18 14:44:44

comparing files

Time of First Successful Submission: 2026-04-18 14:49:31

listing files

Time of First Successful Submission: 2026-04-18 15:01:39

touching files

Time of First Successful Submission: 2026-04-18 15:17:38

removing files

Time of First Successful Submission: 2026-04-18 15:21:22

moving files

Time of First Successful Submission: 2026-04-18 15:22:35

copying files

Time of First Successful Submission: 2026-04-18 15:24:05

hidden files

Time of First Successful Submission: 2026-04-18 15:26:55

An Epic Filesystem Quest

Time of First Successful Submission: 2026-04-18 16:06:36

making directories

Time of First Successful Submission: 2026-04-18 16:10:29

finding files

Time of First Successful Submission: 2026-04-18 16:17:47

linking files

Time of First Successful Submission: 2026-04-18 17:52:52

Learning From Documentation

Time of First Successful Submission: 2026-04-18 18:13:17

Learning Complex Usage

Time of First Successful Submission: 2026-04-18 18:19:46

Reading Manuals

Time of First Successful Submission: 2026-04-18 18:56:22

Searching Manuals

Time of First Successful Submission: 2026-04-18 18:58:59

Searching For Manuals

Time of First Successful Submission: 2026-04-18 19:37:19

Helpful Programs

Time of First Successful Submission: 2026-04-18 19:45:22

Help for Builtins

Time of First Successful Submission: 2026-04-18 19:49:31

Matching with *

Time of First Successful Submission: 2026-04-19 10:26:17

Matching with ?

Time of First Successful Submission: 2026-04-19 10:27:30

Matching with []

Time of First Successful Submission: 2026-04-19 10:28:57

Matching paths with []

Time of First Successful Submission: 2026-04-19 10:34:20

Multiple globs

Time of First Successful Submission: 2026-04-19 10:36:30

Mixing globs

Time of First Successful Submission: 2026-04-19 10:55:57

Exclusionary globbing

Time of First Successful Submission: 2026-04-19 11:03:47

Tab completion

Time of First Successful Submission: 2026-04-19 11:06:06

Multiple options for tab completion

Time of First Successful Submission: 2026-04-19 11:22:12

Tab completion on commands

Time of First Successful Submission: 2026-04-19 11:23:00

Redirecting output

Time of First Successful Submission: 2026-04-19 11:33:10

Redirecting more output

Time of First Successful Submission: 2026-04-19 11:35:18

Appending output

Time of First Successful Submission: 2026-04-19 11:37:23

Redirecting errors

Time of First Successful Submission: 2026-04-19 12:11:26

Redirecting input

Time of First Successful Submission: 2026-04-19 12:15:31

Grepping stored results

Time of First Successful Submission: 2026-04-19 12:23:49

Grepping live output

Time of First Successful Submission: 2026-04-19 12:25:39

Grepping errors

Time of First Successful Submission: 2026-04-19 12:30:53

Filtering with grep -v

Time of First Successful Submission: 2026-04-19 12:37:28

Filtering with sed

Time of First Successful Submission: 2026-04-19 12:39:02

Duplicating piped data with tee

Time of First Successful Submission: 2026-04-19 12:49:08

Process substitution for input

Time of First Successful Submission: 2026-04-19 12:58:42

Writing to multiple programs

Time of First Successful Submission: 2026-04-19 14:21:35

Split-piping stderr and stdout

Time of First Successful Submission: 2026-04-19 14:30:20

Named pipes

Time of First Successful Submission: 2026-04-19 14:47:50

Printing Variables

Time of First Successful Submission: 2026-04-19 16:02:01

Setting Variables

Time of First Successful Submission: 2026-04-19 18:23:02

Multi-word Variables

Time of First Successful Submission: 2026-04-19 18:24:27

Exporting Variables

Time of First Successful Submission: 2026-04-19 18:36:15

Printing Exported Variables

Time of First Successful Submission: 2026-04-19 18:38:17

Storing Command Output

Time of First Successful Submission: 2026-04-19 18:51:55

Reading Input

Time of First Successful Submission: 2026-04-19 19:00:29

Reading Files

Time of First Successful Submission: 2026-04-19 19:07:07

Translating characters

Time of First Successful Submission: 2026-04-19 19:15:55

Deleting characters

Time of First Successful Submission: 2026-04-19 19:46:39

Deleting newlines

Time of First Successful Submission: 2026-04-19 19:50:15

Extracting the first lines with head

Time of First Successful Submission: 2026-04-19 19:52:30

Extracting specific sections of text

Time of First Successful Submission: 2026-04-19 19:54:47

Sorting data

Time of First Successful Submission: 2026-04-19 19:56:38

Listing Processes

Time of First Successful Submission: 2026-04-20 18:22:19

Killing Processes

Time of First Successful Submission: 2026-04-20 18:27:48

Interrupting Processes

Time of First Successful Submission: 2026-04-20 18:28:59

Killing Misbehaving Processes

Time of First Successful Submission: 2026-04-20 18:33:59

Suspending Processes

Time of First Successful Submission: 2026-04-20 18:41:52

Resuming Processes

Time of First Successful Submission: 2026-04-20 18:43:25

Backgrounding Processes

Time of First Successful Submission: 2026-04-20 18:51:43

Foregrounding Processes

Time of First Successful Submission: 2026-04-20 18:52:43

Starting Backgrounded Processes

Time of First Successful Submission: 2026-04-20 18:54:50

Process Exit Codes

Time of First Successful Submission: 2026-04-20 18:57:49

Becoming root with su

Time of First Successful Submission: 2026-04-20 19:47:35

Other users with su

Time of First Successful Submission: 2026-04-20 19:48:41

Cracking passwords

Time of First Successful Submission: 2026-04-20 19:58:08

Using sudo

Time of First Successful Submission: 2026-04-20 20:02:36

Changing File Ownership

Time of First Successful Submission: 2026-04-21 08:53:42

Groups and Files

Time of First Successful Submission: 2026-04-21 09:00:55

Fun With Groups Names

Time of First Successful Submission: 2026-04-21 09:05:08

Changing Permissions

Time of First Successful Submission: 2026-04-21 09:41:51

Executable Files

Time of First Successful Submission: 2026-04-21 09:46:30

Permission Tweaking Practice

Time of First Successful Submission: 2026-04-21 09:52:11

Permissions Setting Practice

Time of First Successful Submission: 2026-04-21 10:01:02

The SUID Bit

Time of First Successful Submission: 2026-04-21 10:13:32

Chaining with Semicolons

Time of First Successful Submission: 2026-04-21 14:46:46

Building on Success

Time of First Successful Submission: 2026-04-21 14:50:40

Handling Failure

Time of First Successful Submission: 2026-04-21 14:52:45

Your First Shell Script

Time of First Successful Submission: 2026-04-21 15:20:03

Redirecting Script Output

Time of First Successful Submission: 2026-04-21 15:41:14

Executable Shell Scripts

Time of First Successful Submission: 2026-04-21 16:14:48

Understanding Shebangs

Time of First Successful Submission: 2026-04-21 17:03:12

Scripting with Arguments

Time of First Successful Submission: 2026-04-21 17:11:05

Scripting with Conditionals

Time of First Successful Submission: 2026-04-21 17:27:50

Scripting with Default Cases

Time of First Successful Submission: 2026-04-21 17:32:25

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-04-21 17:40:07

Reading Shell Scripts

Time of First Successful Submission: 2026-04-21 17:43:42

Launching Screen

Time of First Successful Submission: 2026-04-21 18:00:24

Detaching and Attaching

Time of First Successful Submission: 2026-04-21 18:02:57

Finding Sessions

Time of First Successful Submission: 2026-04-21 18:04:07

Switching Windows

Time of First Successful Submission: 2026-04-21 18:11:22

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-04-21 18:14:57

Switching Windows (tmux)

Time of First Successful Submission: 2026-04-21 18:16:21

The PATH Variable

Time of First Successful Submission: 2026-04-21 18:27:29

Setting PATH

Time of First Successful Submission: 2026-04-21 19:42:21

Finding Commands

Time of First Successful Submission: 2026-04-21 19:49:14

Adding Commands

Time of First Successful Submission: 2026-04-21 20:04:58

Hijacking Commands

Time of First Successful Submission: 2026-04-21 20:56:08

Bashrc Backdoor

Time of First Successful Submission: 2026-04-24 10:47:24

Sniffing Input

Time of First Successful Submission: 2026-04-24 12:11:51

Overshared Directories

Time of First Successful Submission: 2026-04-24 13:28:22

Tricky Linking

Time of First Successful Submission: 2026-04-24 19:16:03

Sniffing Process Arguments

Time of First Successful Submission: 2026-04-24 19:28:54

Snooping on Configurations

Time of First Successful Submission: 2026-04-24 19:39:39

The Fork Bomb

Time of First Successful Submission: 2026-04-25 12:02:41

Disk-Space Doomsday

Time of First Successful Submission: 2026-04-26 15:13:04

rm -rf /

Time of First Successful Submission: 2026-04-27 07:44:35

Life after rm -rf /

Time of First Successful Submission: 2026-04-27 07:56:49

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-04-27 08:29:33


Computing 101

94 / 94 456 / 22332


Your First Register

Time of First Successful Submission: 2026-04-27 09:29:46

Your First Syscall

Time of First Successful Submission: 2026-04-27 09:52:06

Exit Codes

Time of First Successful Submission: 2026-04-27 09:57:54

Building Executables

Time of First Successful Submission: 2026-04-27 10:29:47

Moving Between Registers

Time of First Successful Submission: 2026-04-27 10:38:40

Loading From Memory

Time of First Successful Submission: 2026-04-27 16:20:50

More Loading Practice

Time of First Successful Submission: 2026-04-27 16:24:39

Dereferencing Pointers

Time of First Successful Submission: 2026-04-27 17:16:18

Dereferencing Yourself

Time of First Successful Submission: 2026-04-27 19:48:47

Dereferencing with Offsets

Time of First Successful Submission: 2026-04-27 19:56:08

Stored Addresses

Time of First Successful Submission: 2026-04-27 20:10:36

Double Dereference

Time of First Successful Submission: 2026-04-28 08:04:23

The Stack

Time of First Successful Submission: 2026-04-28 08:21:02

Stack Offsets

Time of First Successful Submission: 2026-04-28 08:25:47

Program Arguments on the Stack

Time of First Successful Submission: 2026-04-28 08:38:25

Popping From the Stack

Time of First Successful Submission: 2026-04-28 08:54:27

Disassembling Programs

Time of First Successful Submission: 2026-04-28 09:50:17

Tracing Syscalls

Time of First Successful Submission: 2026-04-28 10:01:32

Starting GDB

Time of First Successful Submission: 2026-04-28 10:04:26

Quitting GDB

Time of First Successful Submission: 2026-04-28 10:06:05

Starting Programs in GDB

Time of First Successful Submission: 2026-04-28 10:09:46

Disassembling in GDB

Time of First Successful Submission: 2026-04-28 10:15:37

Stepping Through Instructions

Time of First Successful Submission: 2026-04-28 13:21:19

Reading Register Values

Time of First Successful Submission: 2026-04-28 13:24:31

Popping Stack Values

Time of First Successful Submission: 2026-04-28 13:30:54

Examining Memory

Time of First Successful Submission: 2026-04-28 13:39:24

Examining Stack Pointers

Time of First Successful Submission: 2026-04-28 13:47:41

Cooperative Debugging

Time of First Successful Submission: 2026-04-28 14:20:14

Writing Output

Time of First Successful Submission: 2026-04-28 21:01:04

Chaining Syscalls

Time of First Successful Submission: 2026-04-28 21:10:36

Writing Strings

Time of First Successful Submission: 2026-04-28 21:12:52

Reading Data

Time of First Successful Submission: 2026-04-28 21:41:53

Opening Files

Time of First Successful Submission: 2026-04-29 07:49:30

Hardcoding the Filename

Time of First Successful Submission: 2026-04-29 08:57:12

Comparing Values

Time of First Successful Submission: 2026-04-29 10:19:11

Comparing Characters

Time of First Successful Submission: 2026-04-29 13:24:31

Conditional Control Flow

Time of First Successful Submission: 2026-04-29 13:43:07

Comparing Strings

Time of First Successful Submission: 2026-04-29 13:56:41

Reverse the Password

Time of First Successful Submission: 2026-04-29 14:38:43

Conditionals Without Conditionals

Time of First Successful Submission: 2026-04-29 19:38:58

Looping

Time of First Successful Submission: 2026-04-29 20:00:31

Reverse the Calculation

Time of First Successful Submission: 2026-04-29 21:37:19

Reverse the Reverse

Time of First Successful Submission: 2026-04-29 21:52:24

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-04-30 08:34:32

Loops on Data

Time of First Successful Submission: 2026-04-30 08:54:35

set-register

Time of First Successful Submission: 2026-04-30 09:09:07

set-multiple-registers

Time of First Successful Submission: 2026-04-30 09:57:52

add-to-register

Time of First Successful Submission: 2026-04-30 10:14:03

linear-equation-registers

Time of First Successful Submission: 2026-04-30 10:17:36

integer-division

Time of First Successful Submission: 2026-04-30 10:32:08

modulo-operation

Time of First Successful Submission: 2026-04-30 10:41:36

set-upper-byte

Time of First Successful Submission: 2026-04-30 14:55:57

efficient-modulo

Time of First Successful Submission: 2026-04-30 15:09:21

byte-extraction

Time of First Successful Submission: 2026-04-30 17:00:48

bitwise-and

Time of First Successful Submission: 2026-04-30 17:56:36

check-even

Time of First Successful Submission: 2026-04-30 19:12:19

memory-read

Time of First Successful Submission: 2026-04-30 20:10:42

memory-write

Time of First Successful Submission: 2026-04-30 20:12:45

memory-increment

Time of First Successful Submission: 2026-04-30 21:26:30

byte-access

Time of First Successful Submission: 2026-04-30 22:14:18

memory-size-access

Time of First Successful Submission: 2026-04-30 22:44:08

little-endian-write

Time of First Successful Submission: 2026-04-30 23:17:44

memory-sum

Time of First Successful Submission: 2026-04-30 23:38:50

stack-subtraction

Time of First Successful Submission: 2026-05-01 01:11:58

swap-stack-values

Time of First Successful Submission: 2026-05-01 01:17:09

average-stack-values

Time of First Successful Submission: 2026-05-01 01:25:28

absolute-jump

Time of First Successful Submission: 2026-05-01 01:36:28

relative-jump

Time of First Successful Submission: 2026-05-01 02:01:01

jump-trampoline

Time of First Successful Submission: 2026-05-01 03:05:21

conditional-jump

Time of First Successful Submission: 2026-05-01 12:36:46

indirect-jump

Time of First Successful Submission: 2026-05-01 14:20:34

average-loop

Time of First Successful Submission: 2026-05-01 15:26:12

count-non-zero

Time of First Successful Submission: 2026-05-01 16:00:51

string-lower

Time of First Successful Submission: 2026-05-01 18:53:12

most-common-byte

Time of First Successful Submission: 2026-05-01 22:31:31

Exit

Time of First Successful Submission: 2026-05-02 00:07:55

Socket

Time of First Successful Submission: 2026-05-02 01:35:26

Bind

Time of First Successful Submission: 2026-05-02 03:20:20

Listen

Time of First Successful Submission: 2026-05-02 03:30:51

Accept

Time of First Successful Submission: 2026-05-02 13:03:56

Static Response

Time of First Successful Submission: 2026-05-02 14:02:28

Dynamic Response

Time of First Successful Submission: 2026-05-02 16:45:11

Iterative GET Server

Time of First Successful Submission: 2026-05-02 17:46:25

Concurrent GET Server

Time of First Successful Submission: 2026-05-02 18:46:20

Concurrent POST Server

Time of First Successful Submission: 2026-05-02 20:07:53

Web Server

Time of First Successful Submission: 2026-05-02 20:52:07

Debugging Programs

Time of First Successful Submission: 2026-05-02 22:24:43

Inspecting Registers

Time of First Successful Submission: 2026-05-02 22:33:50

Examining Memory

Time of First Successful Submission: 2026-05-02 23:13:51

Setting Breakpoints

Time of First Successful Submission: 2026-05-03 00:35:34

GDB Scripting

Time of First Successful Submission: 2026-05-03 16:50:31

Modifying Data

Time of First Successful Submission: 2026-05-03 17:57:38

Modifying Execution

Time of First Successful Submission: 2026-05-03 18:01:23

Broken Functions

Time of First Successful Submission: 2026-05-03 19:09:35


Playing With Programs

7 / 116 19494 / 23768


What's the password?

Time of First Successful Submission: 2026-05-03 19:23:42

... and again!

Time of First Successful Submission: 2026-05-03 19:50:26

Newline Troubles

Time of First Successful Submission: 2026-05-03 19:59:59

Reasoning about files

Time of First Successful Submission: 2026-05-03 20:19:15

Specifying Filenames

Time of First Successful Submission: 2026-05-03 20:27:44

Binary and Hex Encoding

Time of First Successful Submission: 2026-05-03 21:47:08

More Hex

Time of First Successful Submission: 2026-05-04 08:47:07


GCA CTF

12 / 104 2410 / 45599


Using the Terminal

Time of First Successful Submission: 2026-04-18 09:57:36

Using the VSCode Workspace

Time of First Successful Submission: 2026-04-18 10:02:23

Using the GUI Desktop

Time of First Successful Submission: 2026-04-18 10:05:03

Pasting into the Desktop

Time of First Successful Submission: 2026-04-18 10:07:51

Connecting over SSH

Time of First Successful Submission: 2026-04-18 10:15:31

Restarting Challenges

Time of First Successful Submission: 2026-04-18 11:35:37

Getting Help

Time of First Successful Submission: 2026-04-18 11:39:50

Challenge Programs

Time of First Successful Submission: 2026-04-18 11:43:36

The Flag File

Time of First Successful Submission: 2026-04-18 11:48:33

Using Privileged Mode

Time of First Successful Submission: 2026-04-18 11:54:11

Persistent Home Directories - One

Time of First Successful Submission: 2026-04-18 12:02:32

Persistent Home Directories - Two

Time of First Successful Submission: 2026-04-18 12:03:14