D

\

::: {.image-caption}
:::
:::

\

要用到的知识点一,eregi(),字符串对比解析,与大小写无关。

这个函数对比括号里的”hackerDJ”,与获取到的id值,如果一致,就输出”不被允许”

知识点二,urlencode(),urldecode(),这是转换的函数。

加密是把中文字符转换为十六进制,然后在每个字符前面加一个标识符%。在上图中是将获取的id值解码,解码后要等于hackerDJ,就能得到flag.

为了达到这个目的,我们必须将hackerDJ编码,由于网上的编码是基于js的,只能编码一部分,字母是不能转换的,于是我们自己整。

h的十六进制为68,”%68”就是加密后的h。

知识点三,浏览器会自动将输入到地址栏的非数字字母转换为url编码。

由于浏览器处理的时候会自动将”%68”解码一次,就是变成了hackerDJ,这样我们会得到”不被允许”

所以我们再编码一次。这次可以用网上的urlencode自动编码。”%68”编码变成”%2568"

::: {.image-package}
\

::: {.image-caption}
:::
:::

\

::: {.image-package}
\

::: {.image-caption}
:::
:::
:::
:::
:::