zoukankan      html  css  js  c++  java
  • buuctf-web Ping Ping Ping 1

    启动靶机,启动环境。

     这显示了/?ip=

    那我觉得可以构造一手Pyload来ping一下

    /?ip=127.0.0.1

    还真的Ping通了

    然后我们可以用管道符来试着查看一手目录了

    这里我们来解释一下管道符

    “|”,这个竖线就是管道符,这个管道符的作用就是将命令A的输出结果作为命令B的输入条件

    也就是我们常说的这样一种格式 "命令A|命令B"这样一种形式

    然后我们使用一下管道符来查一下

    /?ip=127.0.0.1|ls

    这里的ls就是用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。是linux下的命令

    大概意思就是显示本主机当前的所有文件

     然后我们查到了两个php文件:flag.php和index.php

    看见了flag.php,那当然要对它进行操作了,显示它,

    ?ip=127.0.0.1|cat flag.php

     然后扔给了我个这东西,fxck,看来是被和谐了,应该是空格被过滤了

    试着解决一下空格被过滤的问题,百度一手

     上面是使用$IFS

    这个貌似是内部字段分隔符的缩写,它决定Bash解析字符串时将怎样识别字段,或单词分界线。默认为(空格、制表符、换号)(这里的Bash其实就是一种shell)

    然后构造pyload

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

    后面的$9随便一个数字就可以。

     忙活了大半天,才知道flag也被和谐了,被过滤掉了。行了,还是看看index.php吧

     通过这段代码才发现,好多字符都被过滤了,但是在最后我们看到了a变量,那我们是不是可以将a的值覆盖,然后进行绕过呢?

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

     看着也没什么不同嘛,这咋回事啊

    不用急,咱先看一手源码。可能会发现大陆欧。

     看,是吧。flag就藏在源码里

  • 相关阅读:
    yolo_to_onnx ValueError: need more tan 1 value to unpack
    yolo_to_onnx killed
    C++ 实现二维矩阵的加减乘等运算
    Leetcode 1013. Partition Array Into Three Parts With Equal Sum
    Leetcode 1014. Best Sightseeing Pair
    Leetcode 121. Best Time to Buy and Sell Stock
    Leetcode 219. Contains Duplicate II
    Leetcode 890. Find and Replace Pattern
    Leetcode 965. Univalued Binary Tree
    Leetcode 700. Search in a Binary Search Tree
  • 原文地址:https://www.cnblogs.com/awsole/p/13817670.html
Copyright © 2011-2022 走看看