禁止套娃
扫到.git
大概三层过滤,第一层过滤一些PHP伪协议,第二层过滤了有参数函数、第三层过滤了一些关键词。
一步步来,首先我们想构造的是这样的一句话:
其中scandir('.')
可以遍历当前目录,返回当前目录的目录。
但是这个函数是个有参函数,咋整呢,需要构造这个.
利用localeconv()
,该函数返回一包含本地数字及货币格式信息的数组。而数组第一项就是.
而 pos()
current()
两个函数可以返回数组的单元,默认取第一个值,这样就可以构造遍历目录了。
可以看到目录下是有flag文件的,在倒数第二个位置,正数第四个位置。接下来就是读取文件内容了。
这里有三种读取文件的方法
1.array_reverse()
数组逆向,加一位移位
读取文件有两种方法,一种是直接print_r(readfile(file))
,一种是highlight_file(file)
2.array_rand(array_flip())
array_rand()随机取出数组单元,array_flip()函数交换键与值
3.session_id(session_start())
PHPSESSID=flag.php即可。
Last updated