diff --git a/docs/en/guide/features/dynamic-flag.mdx b/docs/en/guide/features/dynamic-flag.mdx index 8919f5b..641ff2d 100644 --- a/docs/en/guide/features/dynamic-flag.mdx +++ b/docs/en/guide/features/dynamic-flag.mdx @@ -33,55 +33,43 @@ In dynamic challenge's flag and attachment management page, the flag template wi Leet String is a method of replacing characters in a string with numbers or symbols. For example, replacing `a` with `4`, `e` with `3`, and so on. GZCTF follows the following Leet String rules: ```txt -+-------------+---------------+-------------+---------------+ -| Characters | Replaced with | Characters | Replaced with | -+-------------+---------------+-------------+---------------+ -| A | Aa4 | B | Bb68 | -| C | Cc | D | Dd | -| E | Ee3 | F | Ff1 | -| G | Gg69 | H | Hh | -| I | Ii1l | J | Jj | -| K | Kk | L | Ll1I | -| M | Mm | N | Nn | -| O | Oo0 | P | Pp | -| Q | Qq9 | R | Rr | -| S | Ss5 | T | Tt7 | -| U | Uu | V | Vv | -| W | Ww | X | Xx | -| Y | Yy | Z | Zz2 | -| 0 | 0oO | 1 | 1lI | -| 2 | 2zZ | 3 | 3eE | -| 4 | 4aA | 5 | 5Ss | -| 6 | 6Gb | 7 | 7T | -| 8 | 8bB | 9 | 9g | -+-------------+---------------+-------------+---------------+ ++-------------+---------------+-------------+---------------+-------------+---------------+ +| Characters | Replaced with | Characters | Replaced with | Characters | Replaced with | ++-------------+---------------+-------------+---------------+-------------+---------------+ +| A | Aa4 | B | Bb68 | C | Cc | +| D | Dd | E | Ee3 | F | Ff1 | +| G | Gg69 | H | Hh | I | Ii1l | +| J | Jj | K | Kk | L | Ll1I | +| M | Mm | N | Nn | O | Oo0 | +| P | Pp | Q | Qq9 | R | Rr | +| S | Ss5 | T | Tt7 | U | Uu | +| V | Vv | W | Ww | X | Xx | +| Y | Yy | Z | Zz2 | 0 | 0oO | +| 1 | 1lI | 2 | 2zZ | 3 | 3eE | +| 4 | 4aA | 5 | 5Ss | 6 | 6Gb | +| 7 | 7T | 8 | 8bB | 9 | 9g | ++-------------+---------------+-------------+---------------+-------------+---------------+ ``` When enabling complex Leet strings, please pay attention to character injection issues. It follows the rules below, as there are more possibilities, the length required to reach the specified entropy will be shorter: ```txt -+-------------+----------------+-------------+----------------+ -| Characters | Replaced with | Characters | Replaced with | -+-------------+----------------+-------------+----------------+ -| A | Aa4@ | B | Bb68 | -| C | Cc( | D | Dd | -| E | Ee3 | F | Ff1 | -| G | Gg69 | H | Hh | -| I | Ii1l! | J | Jj | -| K | Kk | L | Ll1I! | -| M | Mm | N | Nn | -| O | Oo0# | P | Pp | -| Q | Qq9 | R | Rr | -| S | Ss5$ | T | Tt7 | -| U | Uu | V | Vv | -| W | Ww | X | Xx | -| Y | Yy | Z | Zz2? | -| 0 | 0oO# | 1 | 1lI | -| 2 | 2zZ? | 3 | 3eE | -| 4 | 4aA | 5 | 5Ss | -| 6 | 6Gb | 7 | 7T | -| 8 | 8B& | 9 | 9g | -+-------------+----------------+-------------+----------------+ ++-------------+----------------+-------------+----------------+-------------+----------------+ +| Characters | Replaced with | Characters | Replaced with | Characters | Replaced with | ++-------------+----------------+-------------+----------------+-------------+----------------+ +| A | Aa4@ | B | Bb68 | C | Cc( | +| D | Dd | E | Ee3 | F | Ff1 | +| G | Gg69 | H | Hh | I | Ii1l! | +| J | Jj | K | Kk | L | Ll1I! | +| M | Mm | N | Nn | O | Oo0# | +| P | Pp | Q | Qq9 | R | Rr | +| S | Ss5$ | T | Tt7 | U | Uu | +| V | Vv | W | Ww | X | Xx | +| Y | Yy | Z | Zz2? | 0 | 0oO# | +| 1 | 1lI | 2 | 2zZ? | 3 | 3eE | +| 4 | 4aA | 5 | 5Ss | 6 | 6Gb | +| 7 | 7T | 8 | 8B& | 9 | 9g | ++-------------+----------------+-------------+----------------+-------------+----------------+ ``` ### Security diff --git a/docs/ja/guide/features/dynamic-flag.mdx b/docs/ja/guide/features/dynamic-flag.mdx index a783adf..a4d6bb1 100644 --- a/docs/ja/guide/features/dynamic-flag.mdx +++ b/docs/ja/guide/features/dynamic-flag.mdx @@ -33,55 +33,43 @@ GZCTFには動的フラッグの配布をサポートする機能が組み込ま リート文字列は、文字列中の文字を数字や記号に置き換える方法で、例えば`a`を`4`に、`e`を`3`に置き換えるなど、GZCTFでは以下のリート文字列のルールを採用しています: ```txt -+-------------+---------------+-------------+---------------+ -| Characters | Replaced with | Characters | Replaced with | -+-------------+---------------+-------------+---------------+ -| A | Aa4 | B | Bb68 | -| C | Cc | D | Dd | -| E | Ee3 | F | Ff1 | -| G | Gg69 | H | Hh | -| I | Ii1l | J | Jj | -| K | Kk | L | Ll1I | -| M | Mm | N | Nn | -| O | Oo0 | P | Pp | -| Q | Qq9 | R | Rr | -| S | Ss5 | T | Tt7 | -| U | Uu | V | Vv | -| W | Ww | X | Xx | -| Y | Yy | Z | Zz2 | -| 0 | 0oO | 1 | 1lI | -| 2 | 2zZ | 3 | 3eE | -| 4 | 4aA | 5 | 5Ss | -| 6 | 6Gb | 7 | 7T | -| 8 | 8bB | 9 | 9g | -+-------------+---------------+-------------+---------------+ ++-------------+---------------+-------------+---------------+-------------+---------------+ +| Characters | Replaced with | Characters | Replaced with | Characters | Replaced with | ++-------------+---------------+-------------+---------------+-------------+---------------+ +| A | Aa4 | B | Bb68 | C | Cc | +| D | Dd | E | Ee3 | F | Ff1 | +| G | Gg69 | H | Hh | I | Ii1l | +| J | Jj | K | Kk | L | Ll1I | +| M | Mm | N | Nn | O | Oo0 | +| P | Pp | Q | Qq9 | R | Rr | +| S | Ss5 | T | Tt7 | U | Uu | +| V | Vv | W | Ww | X | Xx | +| Y | Yy | Z | Zz2 | 0 | 0oO | +| 1 | 1lI | 2 | 2zZ | 3 | 3eE | +| 4 | 4aA | 5 | 5Ss | 6 | 6Gb | +| 7 | 7T | 8 | 8bB | 9 | 9g | ++-------------+---------------+-------------+---------------+-------------+---------------+ ``` 启用複雑なLeet文字列の場合、文字の注入に注意してください。それは以下のルールに従います。可能性がより多いため、指定されたエントロピーに到達するために必要な長さが短くなります: ```txt -+-------------+----------------+-------------+----------------+ -| Characters | Replaced with | Characters | Replaced with | -+-------------+----------------+-------------+----------------+ -| A | Aa4@ | B | Bb68 | -| C | Cc( | D | Dd | -| E | Ee3 | F | Ff1 | -| G | Gg69 | H | Hh | -| I | Ii1l! | J | Jj | -| K | Kk | L | Ll1I! | -| M | Mm | N | Nn | -| O | Oo0# | P | Pp | -| Q | Qq9 | R | Rr | -| S | Ss5$ | T | Tt7 | -| U | Uu | V | Vv | -| W | Ww | X | Xx | -| Y | Yy | Z | Zz2? | -| 0 | 0oO# | 1 | 1lI | -| 2 | 2zZ? | 3 | 3eE | -| 4 | 4aA | 5 | 5Ss | -| 6 | 6Gb | 7 | 7T | -| 8 | 8B& | 9 | 9g | -+-------------+----------------+-------------+----------------+ ++-------------+----------------+-------------+----------------+-------------+----------------+ +| Characters | Replaced with | Characters | Replaced with | Characters | Replaced with | ++-------------+----------------+-------------+----------------+-------------+----------------+ +| A | Aa4@ | B | Bb68 | C | Cc( | +| D | Dd | E | Ee3 | F | Ff1 | +| G | Gg69 | H | Hh | I | Ii1l! | +| J | Jj | K | Kk | L | Ll1I! | +| M | Mm | N | Nn | O | Oo0# | +| P | Pp | Q | Qq9 | R | Rr | +| S | Ss5$ | T | Tt7 | U | Uu | +| V | Vv | W | Ww | X | Xx | +| Y | Yy | Z | Zz2? | 0 | 0oO# | +| 1 | 1lI | 2 | 2zZ? | 3 | 3eE | +| 4 | 4aA | 5 | 5Ss | 6 | 6Gb | +| 7 | 7T | 8 | 8B& | 9 | 9g | ++-------------+----------------+-------------+----------------+-------------+----------------+ ``` ### セキュリティ diff --git a/docs/zh/guide/features/dynamic-flag.mdx b/docs/zh/guide/features/dynamic-flag.mdx index 9bff303..19c5c29 100644 --- a/docs/zh/guide/features/dynamic-flag.mdx +++ b/docs/zh/guide/features/dynamic-flag.mdx @@ -33,55 +33,43 @@ GZCTF 自带对于动态 flag 分发的支持,将会在容器启用时采用 ` Leet 字符串是一种将字符串中的字符替换为数字或符号的方法,例如将 `a` 替换为 `4`,将 `e` 替换为 `3` 等,GZCTF 采用的 Leet 字符串规则如下: ```txt -+-------------+---------------+-------------+---------------+ -| Characters | Replaced with | Characters | Replaced with | -+-------------+---------------+-------------+---------------+ -| A | Aa4 | B | Bb68 | -| C | Cc | D | Dd | -| E | Ee3 | F | Ff1 | -| G | Gg69 | H | Hh | -| I | Ii1l | J | Jj | -| K | Kk | L | Ll1I | -| M | Mm | N | Nn | -| O | Oo0 | P | Pp | -| Q | Qq9 | R | Rr | -| S | Ss5 | T | Tt7 | -| U | Uu | V | Vv | -| W | Ww | X | Xx | -| Y | Yy | Z | Zz2 | -| 0 | 0oO | 1 | 1lI | -| 2 | 2zZ | 3 | 3eE | -| 4 | 4aA | 5 | 5Ss | -| 6 | 6Gb | 7 | 7T | -| 8 | 8bB | 9 | 9g | -+-------------+---------------+-------------+---------------+ ++-------------+---------------+-------------+---------------+-------------+---------------+ +| Characters | Replaced with | Characters | Replaced with | Characters | Replaced with | ++-------------+---------------+-------------+---------------+-------------+---------------+ +| A | Aa4 | B | Bb68 | C | Cc | +| D | Dd | E | Ee3 | F | Ff1 | +| G | Gg69 | H | Hh | I | Ii1l | +| J | Jj | K | Kk | L | Ll1I | +| M | Mm | N | Nn | O | Oo0 | +| P | Pp | Q | Qq9 | R | Rr | +| S | Ss5 | T | Tt7 | U | Uu | +| V | Vv | W | Ww | X | Xx | +| Y | Yy | Z | Zz2 | 0 | 0oO | +| 1 | 1lI | 2 | 2zZ | 3 | 3eE | +| 4 | 4aA | 5 | 5Ss | 6 | 6Gb | +| 7 | 7T | 8 | 8bB | 9 | 9g | ++-------------+---------------+-------------+---------------+-------------+---------------+ ``` 启用复杂 Leet 字符串时,请注意字符注入问题,它采用的规则如下,由于可能性更多,达到指定的熵所需的长度会更短: ```txt -+-------------+----------------+-------------+----------------+ -| Characters | Replaced with | Characters | Replaced with | -+-------------+----------------+-------------+----------------+ -| A | Aa4@ | B | Bb68 | -| C | Cc( | D | Dd | -| E | Ee3 | F | Ff1 | -| G | Gg69 | H | Hh | -| I | Ii1l! | J | Jj | -| K | Kk | L | Ll1I! | -| M | Mm | N | Nn | -| O | Oo0# | P | Pp | -| Q | Qq9 | R | Rr | -| S | Ss5$ | T | Tt7 | -| U | Uu | V | Vv | -| W | Ww | X | Xx | -| Y | Yy | Z | Zz2? | -| 0 | 0oO# | 1 | 1lI | -| 2 | 2zZ? | 3 | 3eE | -| 4 | 4aA | 5 | 5Ss | -| 6 | 6Gb | 7 | 7T | -| 8 | 8B& | 9 | 9g | -+-------------+----------------+-------------+----------------+ ++-------------+----------------+-------------+----------------+-------------+----------------+ +| Characters | Replaced with | Characters | Replaced with | Characters | Replaced with | ++-------------+----------------+-------------+----------------+-------------+----------------+ +| A | Aa4@ | B | Bb68 | C | Cc( | +| D | Dd | E | Ee3 | F | Ff1 | +| G | Gg69 | H | Hh | I | Ii1l! | +| J | Jj | K | Kk | L | Ll1I! | +| M | Mm | N | Nn | O | Oo0# | +| P | Pp | Q | Qq9 | R | Rr | +| S | Ss5$ | T | Tt7 | U | Uu | +| V | Vv | W | Ww | X | Xx | +| Y | Yy | Z | Zz2? | 0 | 0oO# | +| 1 | 1lI | 2 | 2zZ? | 3 | 3eE | +| 4 | 4aA | 5 | 5Ss | 6 | 6Gb | +| 7 | 7T | 8 | 8B& | 9 | 9g | ++-------------+----------------+-------------+----------------+-------------+----------------+ ``` ### 安全性 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 12ebca8..70c7a2e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -493,8 +493,8 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - caniuse-lite@1.0.30001671: - resolution: {integrity: sha512-jocyVaSSfXg2faluE6hrWkMgDOiULBMca4QLtDT39hw1YxaIPHWc1CcTCKkPmHgGH6tKji6ZNbMSmUAvENf2/A==} + caniuse-lite@1.0.30001672: + resolution: {integrity: sha512-XhW1vRo1ob6aeK2w3rTohwTPBLse/rvjq+s3RTSBwnlZqoFFjx9cHsShJjAIbLsLjyoacaTxpLZy9v3gg6zypw==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2073,7 +2073,7 @@ snapshots: '@modern-js/utils@2.60.5': dependencies: '@swc/helpers': 0.5.13 - caniuse-lite: 1.0.30001671 + caniuse-lite: 1.0.30001672 lodash: 4.17.21 rslog: 1.2.3 @@ -2181,7 +2181,7 @@ snapshots: '@module-federation/runtime-tools': 0.5.1 '@rspack/binding': 1.0.14 '@rspack/lite-tapable': 1.0.1 - caniuse-lite: 1.0.30001671 + caniuse-lite: 1.0.30001672 optionalDependencies: '@swc/helpers': 0.5.13 @@ -2557,7 +2557,7 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001671 + caniuse-lite: 1.0.30001672 electron-to-chromium: 1.5.47 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -2568,7 +2568,7 @@ snapshots: cac@6.7.14: {} - caniuse-lite@1.0.30001671: {} + caniuse-lite@1.0.30001672: {} ccount@2.0.1: {}