Justice996 Skill and Knowledge Base
website·Indexed 30 days ago
https://justice996.github.io/A personal technical knowledge base covering data structures and algorithms (Linked Lists, Binary Heaps, Graphs, Trees, Recursion), programming languages (PHP, JavaScript, ThinkPHP, Laravel), and development tools (Git, DevOps, AI tools). It also includes sections on cyber security (Red Team, Threat Intelligence), Windows system utilities, and notes on WeChat and WeCom frontend development.
What's inside Justice996 Knowledge Base
- Burp Suite is a Java-based framework used as a comprehensive solution for web application penetration testing and security assessments of web, mobile, and API-based applications. Its core functionality is to capture and manipulate all HTTP/HTTPS traffic between a browser and a web server, allowing users to intercept requests and route them to various internal components for analysis.
Overview of Metasploit Framework
Metasploit is an open-source penetration testing framework used for security assessments, vulnerability research, and exploit development. It supports all stages of penetration testing, from information gathering to post-exploitation. It is available in two versions: Metasploit Pro (commercial GUI version) and Metasploit Framework (open-source command-line version).Understand how Java Annotations work
Annotations in Java do not perform actions themselves; they are markers. The actual logic is executed by the 'reader' (the compiler, the Spring framework, or a bytecode processor) that detects the annotation. For example,@Overrideis read by the compiler to verify a method actually overrides a parent method; without it, the code may compile but the method will not be treated as an override.Understand the mechanics of recursion in JavaScript
Recursion occurs when a function calls itself. When a nested call is made, the following process happens:
- The current function is paused.
- Its execution context is saved in the 'Execution Context Stack'.
- The nested call is executed.
- Once the nested call finishes, the previous execution context is restored from the stack, and the external function resumes from where it stopped.
Crucially, a recursive function must have a base case (termination condition). Without it, the function will continue calling itself indefinitely, eventually causing a stack overflow. When the base case is met, the final call returns a value, and the stack begins to 'unwind,' replacing each paused function call with the returned value until the original call is completed.
Understand Redis as a shared distributed Map
Redis serves as a shared, high-performance key-value store accessible by all backend services. Unlike a standard Java Map, Redis allows for the setting of expiration times (TTL) on keys, making it ideal for caching and distributed state management.Understand Graph terminology and structure
A Graph G=(V, E) is an abstract model of a network structure consisting of a set of vertices (V) and a set of edges (E) that connect those vertices. Key terminology includes:
- Adjacent Vertices: Vertices connected by a single edge.
- Degree: The number of adjacent vertices for a specific vertex.
- Path: A continuous sequence of vertices v1, v2, ..., vk where each pair (vi, vi+1) is adjacent. A 'simple path' contains no duplicate vertices.
- Acyclic Graph: A graph that contains no cycles.
- Connected Graph: A graph where a path exists between every pair of vertices.
- Strongly Connected Graph: A graph where a path exists in both directions between every pair of vertices.
- Weighted vs. Unweighted: Graphs may either assign values (weights) to edges or treat all edges as equal.
- Adjacency List: A representation of a graph consisting of a list of all adjacent vertices for every vertex in the graph.
Frontend Interview Knowledge Areas
Key technical domains and common topics for frontend engineering interviews include:
Vue.js: Virtual DOM, Diff algorithm, Lifecycle hooks,
v-modelimplementation,nextTickinternals, Vue 2 vs Vue 3 reactivity (defineProperty vs Proxy),keep-alivecaching, andcomputedvswatch.Webpack: Tree shaking, Loader vs Plugin implementation, build process/lifecycle, and optimization strategies for build speed and bundle size.
Networking: DNS lookup process, HTTP/2 and HTTP/3 (QUIC), HTTPS encryption (Symmetric vs Asymmetric), TCP 3-way handshake, WebSocket heartbeats, and CORS resolution.
Browser & Performance: Critical Rendering Path (blocking JS/CSS), Repaint vs Reflow, Virtual Lists, Skeleton Screens, and Lazy Loading.
Security: XSS, SQL Injection, CSP (Content Security Policy), and CSRF.
Understand Hash Table collisions and Separate Chaining
A hash collision occurs when two different keys result in the same hash value, causing them to map to the same position in the hash table. In a naive implementation, the last item added to that position overwrites previous items.
One common resolution strategy is Separate Chaining, which involves creating a linked list at each position of the hash table. Instead of storing a single value, the table stores a list of all elements that hash to that same index, ensuring no data is lost during a collision.
Understand the role of temperament and brain plasticity
Temperament is innate and based on brain activity patterns (e.g., timid, bold, optimistic, melancholic), significantly influencing life. However, the brain possesses high plasticity during childhood, meaning that positive parenting and educational experiences can steer a child's innate temperament in a positive direction and mitigate negative predispositions.Understand common authentication bypass techniques
Authentication bypass vulnerabilities occur when an attacker can circumvent, defeat, or break the authentication methods of a website, often leading to the exposure of sensitive personal data. Common methods include:
- Username Enumeration: Identifying valid usernames to narrow down targets for further attacks.
- Brute Force: Systematically attempting all possible password combinations to gain access.
- Logic Flaws: Exploiting errors in the application's intended logic path to bypass or manipulate authentication checks.
Use basic Linux commands for system exploration
Use these fundamental Linux commands to identify the current user, connect to remote machines, and inspect files during a security assessment.whoami # Display the current username ssh USERNAME@MACHINE_IP # Connect to a remote machine via SSH ls # List files in the current directory cat FILENAME # Display the contents of a file history # View the command history of the userUnderstand the fundamentals of Offensive Security
Offensive Security is the practice of proactively breaking into computer systems, exploiting software errors, and identifying vulnerabilities within applications to gain unauthorized access. This approach allows security professionals to identify weaknesses before they can be exploited by malicious actors.