目录
源代码分析
黑名单字符:单双引号(' ")、反引号(`)、中括号([ ])。这里说明几点:
- 单双引号的禁用说明字符串是无法使用的,可以用返回值为字符串的函数返回。
- 反引号的禁用说明无法使用命令执行,
- 中括号是用来访问数组的元素,可以用花括号({})代替。
白名单是一系列的数学函数。首先在里面寻找能够返回字符串的函数,利用 PHP 手册迅速排查:
能够返回字符串的函数有:
- base_convert:2到36进制之间的任意转换。
- decbin:十进制转到二进制。
- dechex:十进制转换为十六进制。
- decoct:十进制转换为八进制。
这四个函数的描述如下:
(1)base_convert