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就藏在源码里

  • 相关阅读:
    centos下卸载rpm包
    centos下添加环境变量和启动apache
    centos(linux) 下如何查看端口占用情况及杀死进程
    如何使上层的div遮住的链接可以点击
    jquery.blockUI.2.31.js 弹出层项目介绍
    fieldset、legend、display html元素
    <a>标签中href="javascript:;"的意思
    memcache 学习笔记
    sublime text3 JS语法检测插件
    Apache Rewrite的主要功能
  • 原文地址:https://www.cnblogs.com/awsole/p/13817670.html
Copyright © 2011-2022 走看看