Wihy

🐧 💻

Intro to Programming Languages

15 / 234 10421 / 33911


Commands

Time of First Successful Submission: 2026-05-15 07:29:04

Command Arguments

Time of First Successful Submission: 2026-05-15 07:29:50

Command History

Time of First Successful Submission: 2026-05-15 07:30:20

The Root Path

Time of First Successful Submission: 2026-05-15 07:32:07

Absolute Paths

Time of First Successful Submission: 2026-05-15 07:32:31

Changing position

Time of First Successful Submission: 2026-05-15 07:33:05

Changing to an Absolute Path

Time of First Successful Submission: 2026-05-15 07:34:03

Relative Paths

Time of First Successful Submission: 2026-05-15 07:41:37

Cat

Time of First Successful Submission: 2026-05-15 07:45:37

Ls

Time of First Successful Submission: 2026-05-15 07:48:24

Ls All

Time of First Successful Submission: 2026-05-15 07:50:55

Find

Time of First Successful Submission: 2026-05-15 07:56:16

Piping Echo

Time of First Successful Submission: 2026-05-15 09:10:20

Piping Stdout

Time of First Successful Submission: 2026-05-15 09:11:33

Piping Stdin

Time of First Successful Submission: 2026-05-15 09:19:27


Intro to Cybersecurity

14 / 183 12643 / 20835


Your First Overflow (easy)

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

Your First Overflow (hard)

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

Precision (easy)

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

Precision (hard)

Time of First Successful Submission: 2026-04-25 19:22:29

Variable Control (easy)

Time of First Successful Submission: 2026-04-25 20:03:50

Variable Control (hard)

Time of First Successful Submission: 2026-04-25 20:15:00

Control Hijack (easy)

Time of First Successful Submission: 2026-04-25 20:33:08

Control Hijack (hard)

Time of First Successful Submission: 2026-04-25 20:49:08

Tricky Control Hijack (easy)

Time of First Successful Submission: 2026-04-26 07:06:56

Tricky Control Hijack (hard)

Time of First Successful Submission: 2026-04-26 07:10:45

PIEs (easy)

Time of First Successful Submission: 2026-04-26 08:50:02

PIEs (hard)

Time of First Successful Submission: 2026-04-26 08:56:47

String Lengths (easy)

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

String Lengths (hard)

Time of First Successful Submission: 2026-04-26 14:12:40


Start Here

11 / 12 9760 / 45981


Using the Terminal

Time of First Successful Submission: 2026-01-31 21:53:25

Using the VSCode Workspace

Time of First Successful Submission: 2026-05-15 07:20:51

Using the GUI Desktop

Time of First Successful Submission: 2026-05-15 07:22:14

Pasting into the Desktop

Time of First Successful Submission: 2026-05-15 07:24:21

Restarting Challenges

Time of First Successful Submission: 2026-05-15 07:27:16

Challenge Programs

Time of First Successful Submission: 2026-05-15 07:19:52

The Flag File

Time of First Successful Submission: 2026-01-31 21:58:14

Using Privileged Mode

Time of First Successful Submission: 2026-05-15 07:19:21

Persistent Home Directories - One

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

Persistent Home Directories - Two

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


Linux Luminarium

128 / 128 3104 / 34366


Intro to Commands

Time of First Successful Submission: 2026-05-15 07:29:04

Intro to Arguments

Time of First Successful Submission: 2026-05-15 07:29:50

Command History

Time of First Successful Submission: 2026-05-15 07:30:20

The Root

Time of First Successful Submission: 2026-05-15 07:32:07

Program and absolute paths

Time of First Successful Submission: 2026-05-15 07:32:31

Position thy self

Time of First Successful Submission: 2026-05-15 07:33:05

Position elsewhere

Time of First Successful Submission: 2026-05-15 07:34:03

implicit relative paths, from /

Time of First Successful Submission: 2026-05-15 07:41:37

explicit relative paths, from /

Time of First Successful Submission: 2026-05-15 07:42:36

implicit relative path

Time of First Successful Submission: 2026-05-15 07:43:24

home sweet home

Time of First Successful Submission: 2026-05-15 07:44:33

cat: not the pet, but the command!

Time of First Successful Submission: 2026-05-15 07:45:37

catting absolute paths

Time of First Successful Submission: 2026-05-15 07:45:48

more catting practice

Time of First Successful Submission: 2026-05-15 07:46:09

grepping for a needle in a haystack

Time of First Successful Submission: 2026-05-15 07:46:35

comparing files

Time of First Successful Submission: 2026-05-15 07:47:41

listing files

Time of First Successful Submission: 2026-05-15 07:48:24

touching files

Time of First Successful Submission: 2026-05-15 07:48:57

removing files

Time of First Successful Submission: 2026-05-15 07:49:27

moving files

Time of First Successful Submission: 2026-05-15 07:50:04

copying files

Time of First Successful Submission: 2026-05-15 07:50:33

hidden files

Time of First Successful Submission: 2026-05-15 07:50:55

An Epic Filesystem Quest

Time of First Successful Submission: 2026-05-15 07:54:04

making directories

Time of First Successful Submission: 2026-05-15 07:54:42

finding files

Time of First Successful Submission: 2026-05-15 07:56:16

linking files

Time of First Successful Submission: 2026-05-15 07:59:26

Learning From Documentation

Time of First Successful Submission: 2026-05-15 08:28:55

Learning Complex Usage

Time of First Successful Submission: 2026-05-15 08:29:53

Reading Manuals

Time of First Successful Submission: 2026-05-15 08:31:12

Searching Manuals

Time of First Successful Submission: 2026-05-15 08:31:56

Searching For Manuals

Time of First Successful Submission: 2026-05-15 08:37:03

Helpful Programs

Time of First Successful Submission: 2026-05-15 08:37:56

Help for Builtins

Time of First Successful Submission: 2026-05-15 08:39:21

Matching with *

Time of First Successful Submission: 2026-05-15 08:43:21

Matching with ?

Time of First Successful Submission: 2026-05-15 08:44:11

Matching with []

Time of First Successful Submission: 2026-05-15 08:45:57

Matching paths with []

Time of First Successful Submission: 2026-05-15 08:48:06

Multiple globs

Time of First Successful Submission: 2026-05-15 08:50:19

Mixing globs

Time of First Successful Submission: 2026-05-15 08:52:19

Exclusionary globbing

Time of First Successful Submission: 2026-05-15 08:54:06

Tab completion

Time of First Successful Submission: 2026-05-15 08:55:01

Multiple options for tab completion

Time of First Successful Submission: 2026-05-15 09:00:34

Tab completion on commands

Time of First Successful Submission: 2026-05-15 09:00:51

Redirecting output

Time of First Successful Submission: 2026-05-15 09:10:20

Redirecting more output

Time of First Successful Submission: 2026-05-15 09:11:33

Appending output

Time of First Successful Submission: 2026-05-15 09:15:56

Redirecting errors

Time of First Successful Submission: 2026-05-15 09:17:41

Redirecting input

Time of First Successful Submission: 2026-05-15 09:19:27

Grepping stored results

Time of First Successful Submission: 2026-05-15 13:36:29

Grepping live output

Time of First Successful Submission: 2026-05-15 13:37:14

Grepping errors

Time of First Successful Submission: 2026-05-15 13:43:43

Filtering with grep -v

Time of First Successful Submission: 2026-05-15 13:44:38

Filtering with sed

Time of First Successful Submission: 2026-05-15 13:45:32

Duplicating piped data with tee

Time of First Successful Submission: 2026-05-15 13:56:54

Process substitution for input

Time of First Successful Submission: 2026-05-15 14:00:41

Writing to multiple programs

Time of First Successful Submission: 2026-05-15 14:19:39

Split-piping stderr and stdout

Time of First Successful Submission: 2026-05-15 14:38:22

Named pipes

Time of First Successful Submission: 2026-05-15 14:41:38

Printing Variables

Time of First Successful Submission: 2026-05-15 14:42:42

Setting Variables

Time of First Successful Submission: 2026-05-15 14:47:47

Multi-word Variables

Time of First Successful Submission: 2026-05-15 14:48:27

Exporting Variables

Time of First Successful Submission: 2026-05-15 14:50:07

Printing Exported Variables

Time of First Successful Submission: 2026-05-15 14:50:52

Storing Command Output

Time of First Successful Submission: 2026-05-15 14:52:40

Reading Input

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

Reading Files

Time of First Successful Submission: 2026-05-15 15:16:31

Translating characters

Time of First Successful Submission: 2026-05-15 15:19:18

Deleting characters

Time of First Successful Submission: 2026-05-15 15:20:36

Deleting newlines

Time of First Successful Submission: 2026-05-15 15:23:44

Extracting the first lines with head

Time of First Successful Submission: 2026-05-15 15:25:39

Extracting specific sections of text

Time of First Successful Submission: 2026-05-15 15:26:39

Sorting data

Time of First Successful Submission: 2026-05-15 15:30:06

Listing Processes

Time of First Successful Submission: 2026-05-15 15:57:26

Killing Processes

Time of First Successful Submission: 2026-05-15 15:58:56

Interrupting Processes

Time of First Successful Submission: 2026-05-15 15:59:17

Killing Misbehaving Processes

Time of First Successful Submission: 2026-05-15 16:01:34

Suspending Processes

Time of First Successful Submission: 2026-05-15 16:02:23

Resuming Processes

Time of First Successful Submission: 2026-05-15 16:02:59

Backgrounding Processes

Time of First Successful Submission: 2026-05-15 16:03:40

Foregrounding Processes

Time of First Successful Submission: 2026-05-15 16:04:46

Starting Backgrounded Processes

Time of First Successful Submission: 2026-05-15 16:05:13

Process Exit Codes

Time of First Successful Submission: 2026-05-15 16:06:36

Becoming root with su

Time of First Successful Submission: 2026-05-15 16:09:40

Other users with su

Time of First Successful Submission: 2026-05-15 16:10:21

Cracking passwords

Time of First Successful Submission: 2026-05-15 16:12:09

Using sudo

Time of First Successful Submission: 2026-05-15 16:13:47

Changing File Ownership

Time of First Successful Submission: 2026-05-15 16:22:55

Groups and Files

Time of First Successful Submission: 2026-05-15 16:26:27

Fun With Groups Names

Time of First Successful Submission: 2026-05-15 16:27:17

Changing Permissions

Time of First Successful Submission: 2026-05-15 16:30:49

Executable Files

Time of First Successful Submission: 2026-05-15 16:39:06

Permission Tweaking Practice

Time of First Successful Submission: 2026-05-15 16:37:40

Permissions Setting Practice

Time of First Successful Submission: 2026-05-15 16:42:44

The SUID Bit

Time of First Successful Submission: 2026-05-15 16:44:09

Chaining with Semicolons

Time of First Successful Submission: 2026-05-15 17:02:56

Building on Success

Time of First Successful Submission: 2026-05-15 17:03:23

Handling Failure

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

Your First Shell Script

Time of First Successful Submission: 2026-05-15 17:05:04

Redirecting Script Output

Time of First Successful Submission: 2026-05-15 17:09:37

Executable Shell Scripts

Time of First Successful Submission: 2026-05-15 17:10:37

Understanding Shebangs

Time of First Successful Submission: 2026-05-15 17:13:03

Scripting with Arguments

Time of First Successful Submission: 2026-05-15 17:14:34

Scripting with Conditionals

Time of First Successful Submission: 2026-05-15 17:16:05

Scripting with Default Cases

Time of First Successful Submission: 2026-05-15 17:16:57

Scripting with Multiple Conditions

Time of First Successful Submission: 2026-05-15 17:18:15

Reading Shell Scripts

Time of First Successful Submission: 2026-05-15 17:18:49

Launching Screen

Time of First Successful Submission: 2026-05-15 17:20:28

Detaching and Attaching

Time of First Successful Submission: 2026-05-15 18:13:09

Finding Sessions

Time of First Successful Submission: 2026-05-15 18:16:18

Switching Windows

Time of First Successful Submission: 2026-05-15 18:17:21

Detaching and Attaching (tmux)

Time of First Successful Submission: 2026-05-15 18:17:50

Switching Windows (tmux)

Time of First Successful Submission: 2026-05-15 18:18:31

The PATH Variable

Time of First Successful Submission: 2026-05-15 18:20:16

Setting PATH

Time of First Successful Submission: 2026-05-15 18:20:49

Finding Commands

Time of First Successful Submission: 2026-05-15 18:21:17

Adding Commands

Time of First Successful Submission: 2026-05-15 18:23:58

Hijacking Commands

Time of First Successful Submission: 2026-05-15 18:25:07

Bashrc Backdoor

Time of First Successful Submission: 2026-05-15 18:27:48

Sniffing Input

Time of First Successful Submission: 2026-05-15 18:35:34

Overshared Directories

Time of First Successful Submission: 2026-05-16 06:39:01

Tricky Linking

Time of First Successful Submission: 2026-05-16 06:44:54

Sniffing Process Arguments

Time of First Successful Submission: 2026-05-16 06:46:47

Snooping on Configurations

Time of First Successful Submission: 2026-05-16 06:48:37

The Fork Bomb

Time of First Successful Submission: 2026-05-16 06:53:51

Disk-Space Doomsday

Time of First Successful Submission: 2026-05-16 06:55:08

rm -rf /

Time of First Successful Submission: 2026-05-16 06:56:46

Life after rm -rf /

Time of First Successful Submission: 2026-05-16 06:58:03

Finding meaning after rm -rf /

Time of First Successful Submission: 2026-05-16 06:58:59


Computing 101

94 / 94 528 / 22486


Your First Register

Time of First Successful Submission: 2026-05-16 11:39:40

Your First Syscall

Time of First Successful Submission: 2026-05-16 11:40:21

Exit Codes

Time of First Successful Submission: 2026-05-16 11:41:17

Building Executables

Time of First Successful Submission: 2026-05-16 11:44:53

Moving Between Registers

Time of First Successful Submission: 2026-05-16 11:53:16

Loading From Memory

Time of First Successful Submission: 2026-05-16 17:26:37

More Loading Practice

Time of First Successful Submission: 2026-05-16 17:27:25

Dereferencing Pointers

Time of First Successful Submission: 2026-05-16 17:30:55

Dereferencing Yourself

Time of First Successful Submission: 2026-05-16 17:32:04

Dereferencing with Offsets

Time of First Successful Submission: 2026-05-16 17:33:14

Stored Addresses

Time of First Successful Submission: 2026-05-16 17:35:18

Double Dereference

Time of First Successful Submission: 2026-05-16 17:36:40

The Stack

Time of First Successful Submission: 2026-05-16 17:43:38

Stack Offsets

Time of First Successful Submission: 2026-05-16 17:44:20

Program Arguments on the Stack

Time of First Successful Submission: 2026-05-16 17:45:51

Popping From the Stack

Time of First Successful Submission: 2026-05-16 17:47:09

Disassembling Programs

Time of First Successful Submission: 2026-05-16 17:54:45

Tracing Syscalls

Time of First Successful Submission: 2026-05-16 17:55:29

Starting GDB

Time of First Successful Submission: 2026-05-16 17:56:01

Quitting GDB

Time of First Successful Submission: 2026-05-16 17:56:20

Starting Programs in GDB

Time of First Successful Submission: 2026-05-16 17:57:43

Disassembling in GDB

Time of First Successful Submission: 2026-05-16 17:58:16

Stepping Through Instructions

Time of First Successful Submission: 2026-05-16 17:58:57

Reading Register Values

Time of First Successful Submission: 2026-05-16 17:59:24

Popping Stack Values

Time of First Successful Submission: 2026-05-16 18:00:03

Examining Memory

Time of First Successful Submission: 2026-05-16 18:00:42

Examining Stack Pointers

Time of First Successful Submission: 2026-05-16 18:02:27

Cooperative Debugging

Time of First Successful Submission: 2026-05-16 18:03:47

Writing Output

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

Chaining Syscalls

Time of First Successful Submission: 2026-05-16 18:21:32

Writing Strings

Time of First Successful Submission: 2026-05-16 18:22:06

Reading Data

Time of First Successful Submission: 2026-05-16 18:24:35

Opening Files

Time of First Successful Submission: 2026-05-16 18:26:24

Hardcoding the Filename

Time of First Successful Submission: 2026-05-16 18:28:41

Comparing Values

Time of First Successful Submission: 2026-05-16 19:01:24

Comparing Characters

Time of First Successful Submission: 2026-05-16 20:43:54

Conditional Control Flow

Time of First Successful Submission: 2026-05-16 20:46:10

Comparing Strings

Time of First Successful Submission: 2026-05-17 14:16:32

Reverse the Password

Time of First Successful Submission: 2026-05-17 14:20:35

Conditionals Without Conditionals

Time of First Successful Submission: 2026-05-17 14:25:51

Looping

Time of First Successful Submission: 2026-05-17 14:29:17

Reverse the Calculation

Time of First Successful Submission: 2026-05-17 15:02:51

Reverse the Reverse

Time of First Successful Submission: 2026-05-17 15:03:48

Dealing with Bitwise Operations

Time of First Successful Submission: 2026-05-17 15:05:05

Loops on Data

Time of First Successful Submission: 2026-05-17 15:12:08

set-register

Time of First Successful Submission: 2026-02-03 21:11:54

set-multiple-registers

Time of First Successful Submission: 2026-02-04 11:37:25

add-to-register

Time of First Successful Submission: 2026-02-04 11:39:41

linear-equation-registers

Time of First Successful Submission: 2026-02-04 11:44:37

integer-division

Time of First Successful Submission: 2026-02-04 11:48:10

modulo-operation

Time of First Successful Submission: 2026-02-04 12:06:13

set-upper-byte

Time of First Successful Submission: 2026-02-04 12:22:14

efficient-modulo

Time of First Successful Submission: 2026-02-04 13:17:55

byte-extraction

Time of First Successful Submission: 2026-02-04 13:41:59

bitwise-and

Time of First Successful Submission: 2026-02-04 13:45:38

check-even

Time of First Successful Submission: 2026-02-04 13:50:42

memory-read

Time of First Successful Submission: 2026-02-04 14:09:20

memory-write

Time of First Successful Submission: 2026-02-04 14:10:26

memory-increment

Time of First Successful Submission: 2026-02-04 14:15:53

byte-access

Time of First Successful Submission: 2026-02-04 14:18:33

memory-size-access

Time of First Successful Submission: 2026-02-04 14:22:12

little-endian-write

Time of First Successful Submission: 2026-02-04 14:39:34

memory-sum

Time of First Successful Submission: 2026-02-04 14:48:39

stack-subtraction

Time of First Successful Submission: 2026-02-04 14:51:25

swap-stack-values

Time of First Successful Submission: 2026-02-04 14:52:17

average-stack-values

Time of First Successful Submission: 2026-02-04 14:57:31

absolute-jump

Time of First Successful Submission: 2026-02-04 14:59:46

relative-jump

Time of First Successful Submission: 2026-02-04 15:02:45

jump-trampoline

Time of First Successful Submission: 2026-02-04 15:10:54

conditional-jump

Time of First Successful Submission: 2026-02-04 16:09:38

indirect-jump

Time of First Successful Submission: 2026-02-04 16:34:53

average-loop

Time of First Successful Submission: 2026-02-04 16:56:04

count-non-zero

Time of First Successful Submission: 2026-02-04 17:14:19

string-lower

Time of First Successful Submission: 2026-02-04 17:49:30

most-common-byte

Time of First Successful Submission: 2026-05-19 13:30:10

Exit

Time of First Successful Submission: 2026-05-19 14:47:22

Socket

Time of First Successful Submission: 2026-05-19 15:10:02

Bind

Time of First Successful Submission: 2026-05-19 19:08:47

Listen

Time of First Successful Submission: 2026-05-19 21:06:09

Accept

Time of First Successful Submission: 2026-05-19 21:11:47

Static Response

Time of First Successful Submission: 2026-05-19 21:32:03

Dynamic Response

Time of First Successful Submission: 2026-05-20 08:26:20

Iterative GET Server

Time of First Successful Submission: 2026-05-20 08:30:13

Concurrent GET Server

Time of First Successful Submission: 2026-05-20 08:40:51

Concurrent POST Server

Time of First Successful Submission: 2026-05-20 10:55:57

Web Server

Time of First Successful Submission: 2026-05-20 11:01:38

Debugging Programs

Time of First Successful Submission: 2026-03-02 16:39:49

Inspecting Registers

Time of First Successful Submission: 2026-03-02 16:44:54

Examining Memory

Time of First Successful Submission: 2026-03-02 18:49:54

Setting Breakpoints

Time of First Successful Submission: 2026-03-02 23:45:36

GDB Scripting

Time of First Successful Submission: 2026-03-03 09:57:23

Modifying Data

Time of First Successful Submission: 2026-03-03 10:16:46

Modifying Execution

Time of First Successful Submission: 2026-03-03 10:19:02

Broken Functions

Time of First Successful Submission: 2026-03-03 11:45:56


Playing With Programs

14 / 116 16944 / 23846


What's the password?

Time of First Successful Submission: 2026-05-20 11:04:38

... and again!

Time of First Successful Submission: 2026-05-20 11:05:34

Newline Troubles

Time of First Successful Submission: 2026-05-20 11:07:49

Reasoning about files

Time of First Successful Submission: 2026-05-20 11:09:11

Specifying Filenames

Time of First Successful Submission: 2026-05-20 11:10:03

Binary and Hex Encoding

Time of First Successful Submission: 2026-05-20 11:13:29

More Hex

Time of First Successful Submission: 2026-05-20 11:14:09

Decoding Hex

Time of First Successful Submission: 2026-05-20 11:15:29

Decoding Practice

Time of First Successful Submission: 2026-05-20 11:28:26

Encoding Practice

Time of First Successful Submission: 2026-05-20 12:14:43

Hex-encoding ASCII

Time of First Successful Submission: 2026-05-20 12:37:12

Nested Encoding

Time of First Successful Submission: 2026-05-20 12:43:48

Hex-encoding UTF-8

Time of First Successful Submission: 2026-05-20 12:46:23

UTF Mixups

Time of First Successful Submission: 2026-05-20 13:04:08


DSU Cyber Camps

11 / 104 9920 / 46271


Using the Terminal

Time of First Successful Submission: 2026-01-31 21:53:25

Using the VSCode Workspace

Time of First Successful Submission: 2026-05-15 07:20:51

Using the GUI Desktop

Time of First Successful Submission: 2026-05-15 07:22:14

Pasting into the Desktop

Time of First Successful Submission: 2026-05-15 07:24:21

Connecting over SSH

Time of First Successful Submission: 2026-01-31 21:56:00

Restarting Challenges

Time of First Successful Submission: 2026-05-15 07:27:16

Challenge Programs

Time of First Successful Submission: 2026-05-15 07:19:52

The Flag File

Time of First Successful Submission: 2026-01-31 21:58:14

Using Privileged Mode

Time of First Successful Submission: 2026-05-15 07:19:21

Persistent Home Directories - One

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

Persistent Home Directories - Two

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


GCA CTF

11 / 104 9920 / 46271


Using the Terminal

Time of First Successful Submission: 2026-01-31 21:53:25

Using the VSCode Workspace

Time of First Successful Submission: 2026-05-15 07:20:51

Using the GUI Desktop

Time of First Successful Submission: 2026-05-15 07:22:14

Pasting into the Desktop

Time of First Successful Submission: 2026-05-15 07:24:21

Connecting over SSH

Time of First Successful Submission: 2026-01-31 21:56:00

Restarting Challenges

Time of First Successful Submission: 2026-05-15 07:27:16

Challenge Programs

Time of First Successful Submission: 2026-05-15 07:19:52

The Flag File

Time of First Successful Submission: 2026-01-31 21:58:14

Using Privileged Mode

Time of First Successful Submission: 2026-05-15 07:19:21

Persistent Home Directories - One

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

Persistent Home Directories - Two

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