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.

Tokens
44.4K
Snippets
146
Records
249
Agent score
75%

What's inside Justice996 Knowledge Base

  1. Overview of Burp Suite for Web Penetration Testing

    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.
  2. 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).
  3. 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, @Override is 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.
  4. Understand the mechanics of recursion in JavaScript

    Recursion occurs when a function calls itself. When a nested call is made, the following process happens:

    1. The current function is paused.
    2. Its execution context is saved in the 'Execution Context Stack'.
    3. The nested call is executed.
    4. 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.

  5. 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.
  6. 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.
  7. Frontend Interview Knowledge Areas

    Key technical domains and common topics for frontend engineering interviews include:

    Vue.js: Virtual DOM, Diff algorithm, Lifecycle hooks, v-model implementation, nextTick internals, Vue 2 vs Vue 3 reactivity (defineProperty vs Proxy), keep-alive caching, and computed vs watch.

    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.

  8. 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.

  9. 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.
  10. 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:

    1. Username Enumeration: Identifying valid usernames to narrow down targets for further attacks.
    2. Brute Force: Systematically attempting all possible password combinations to gain access.
    3. Logic Flaws: Exploiting errors in the application's intended logic path to bypass or manipulate authentication checks.
  11. 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 user
  12. Understand 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.