前一篇留了个疑问:
为什么
file_get_contents(asdf&q=../../phpsso_server/caches/configs/database.php)可以读出文件呢,
他前面那个asdf&q=为什么没影响?
后来经过bacde大牛的指点:
写道
前面的字符可以看成是一个文件夹名字
忽然间反应了过来,那么路径实际上就变成了这个
asdf&q=../ 这个是一个目录
../ 这句的目的在于返回asdf&q=../ 的上级目录,即根目录
phpsso_server/caches/configs/database.php 这里就是正常的路径了
那么我们可以建立一个名字叫asdf&q=的目录里面放一个1.txt然后路径变为这个
asdf&q=/1.txt,果然读了出来,而且asdf&q=......./1.txt这样子也读了出来
这又是一个小思索点。
不过之前的那个poc实际就可以改为
asdf&q=/../phpsso_server/caches/configs/database.php
少了两个..完全可以