Reading and Complying with Assignment Specifications
Getting code to run is only half of an assignment. The other half is proving that the code satisfies every requirement in the specification. Missing requirements like "write outpu…
16 published notes
Getting code to run is only half of an assignment. The other half is proving that the code satisfies every requirement in the specification. Missing requirements like "write outpu…
# Installing and Troubleshooting pip and uv Most [[Python Essentials for Security Scripting|Python]] installations ship with `pip`, but it can be missing, outdated, or not on you…
In a [[Debugger attach and ASLR rebasing pitfalls|debugger]], **suspend** means pausing the target process, not killing it. The OS scheduler simply stops giving the process CPU ti…
# Address Types in Reverse Engineering When analyzing a binary you will see several different address spaces. The same byte can be described by each of them depending on which to…
# C2 Server vs Persisted Shell A **C2 (command-and-control) server** and a **persisted shell** are related but distinct concepts in offensive security. ## C2 Server A C2 server…
Using `fetch` with Credentials in JavaScript When you call an API from JavaScript, the browser's `fetch` API does **not** automatically send cookies or HTTP authentication header…
# WebSocket Protocol Security WebSockets are a **full-duplex, persistent communication channel** built on top of TCP, initiated through an HTTP-compatible upgrade handshake. Once…
# Parsing Binary Formats with Construct `construct` is a Python library that lets you describe binary file layouts as data structures instead of writing manual `struct.unpack` ca…
# Normalization vs Canonicalization in Pentest Input Handling In security tooling, you often compare inputs against a signature database. The attacker controls the input, and you…
# Python File Handling Pitfalls Cheat Sheet When writing security scripts that ingest logs, configs, signatures, or binary payloads, small file-handling mistakes can silently bre…
# Global Variables in Python A **global variable** in Python is a variable declared at the top level of a module file, outside any function or class. It is accessible anywhere in…
# Single Responsibility Principle in Security Scripts The **Single Responsibility Principle** (SRP) says a function or module should have one reason to change — it should do one …
# Defensive Input Handling for Security Scripts Security scripts often process data that comes from untrusted or messy sources: scan output, logs, network traffic, user uploads, …
# Counter in Python `Counter` is a specialized dictionary class from the `collections` module in Python's standard library. It is designed for **counting hashable objects**. ## …
# Exiting a Python Script Cleanly Scripts need to finish in a way that tells the caller (or the shell) whether they succeeded or failed. The way you exit matters for automation, …
# Python Syntax Recall and Fluency for Security Work Many learners struggle with Python syntax not because they are "bad at memorizing," but because they are trying to memorize *…