打开页面,发现只有一个笑脸:
那就不妨查看代码,发现敏感信息:
进入source.php看看有什么:
发现了一堆代码,接下来进行代码审计,有四个if语句:
1.第一个if语句:检验 $page 是否为字符串
2.第二个if语句:检验 $pag e是否存在$whitelist
3.第三个 if 语句:截取传进参数中首次出现?
之前的部分,判断该部分是否存在于$whitelist
数组中
4.第四个 if 语句:先 进行 url 解码,再截取传进参数中首次出现?
之前的部分,并判断该部分是否存在于$whitelist
中
同时还有一个hint.php,打开发现flag的位置:
根据刚才的代码审计,我们来构造payload去绕过,第一个问号是绕过第三个if语句的,第二个问号是绕过第四个if语句:
http://111.200.241.244:50538/source.php?file=source.php?/../../../../ffffllllaaaagggg
得到flag
总结:
代码审计