攻防世界web进阶warmup
打开链接发现是一个笑脸,第一步F12查看网页源代码,发现source.php

访问一下,出现了源码


根据代码可以得出,如果参数file符合checkFile方法的检查规则,就会包含文件,先试一下包含hint.php

符合检查规则,并且发现flag就在ffffllllaaaagggg中
但是尝试包含失败,网上查了一下,发现有很多都说url二次编码绕过,这样做也没错,但是正解却是目录穿越漏洞,
正常的?就可以,不用编码,这是include的一个特性

如果include包含的文件中含有路径,就会包含最后一个/后面的文件,因此直接构造payload:source.php?file=hint.php?/../../../../../../ffffllllaaaagggg
本来是会包含hint.php文件的,但是后面出现了../,就包含了最后面的ffffllllaaaagggg

至于中间使用几层目录,纯粹是试出来的

浙公网安备 33010602011771号