BUUCTF__[GXYCTF2019]Ping Ping Ping_题解

前言

  • 我感觉我是一个假的理工科生,假的计算机相关专业学生,完全没有该有的样子
  • 这题有点东西,不算太水。只是对我来说。

读题

  • 题目是Ping,打开也没有内容,就一个get传参的ip变量
    在这里插入图片描述
  • 不过看到ip和ping就容易联想到,终端ping命令。
  • 先尝试传入一个ip=127.0.0.1,于是乎出现了如下,在终端下执行的效果就是这样,命令执行石锤了。
    在这里插入图片描述
  • 所以,利用拼接符在ping命令后添加我们需要的命令即可。所以可以用拼接符

& 表示任务在后台执行,如要在后台运行redis-server,则有 redis-server &

&& 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ && echo ‘2’

| 表示管道,上一条命令的输出,作为下一条命令参数,如 echo ‘yes’ | wc -l

|| 表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo “fail”

; 分号表示命令依次执行。

  • 首先尝试了&& 但居然没有回显,很奇怪,理论上ping 1270.0.0.1&&ls(为啥是ls命令?拿flag总得知道它在哪吧)应该是可以的,但不知道为什么,还有就是输入无法ping通的ip也是一样的回显,可能是因为这是假ping吧,前面没成功,所以后面不执行
  • 然后尝试用| 回显得知 index.php 和 flag.php
    在这里插入图片描述
  • 尝试用cat命令读取flag.php,提示有空格,空格被过滤了
    在这里插入图片描述
  • 于是我去百度了命令执行空格绕过,参考这篇文章
  • 但尝试发现,不仅空格被禁了,像 { <% 也被禁了但是$IFS$9能用,不过提示flag也被过滤了。
  • 加一点为什么用$IFS不行,
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值