Linux命令绕过 - 教程

news/2025/11/22 19:00:22/文章来源:https://www.cnblogs.com/yangykaifa/p/19258369

1.空格绕过方法

1.1 IFS变量绕过

Shell的内部字段分隔符,默认包含空格,可以用它替代空格字符。就是IFS

使用IFS替代空格

利用位置参数$1(通常为空)作为分隔符

注意:当我们使用$IFS时,如果后面紧跟其他字符,shell可能会将整个字符串(如$IFSflag.txt)视为一个变量名,因为变量名可以包含字母数字和下划线,且紧接在$后。所以,cat$IFSflag.txt会被解释为变量$IFSflag的值加上.txt,而不是cat、空格、flag.txt。

$1 是shell脚本的位置参数(1到9都可以),表示第一个参数。在命令注入的上下文中,如果没有传递参数,$1通常是空的。在$IFS$1中,$1被放在$IFS后面,即使$1为空,这样$IFS$1就等于$IFS的值(空格)加上一个空字符串,结果还是空格。而且,由于$1的存在,它打破了$IFS和后面字符的连接,使得shell能够正确解析。

1.2 重定向绕过

使用输入重定向来避免在命令中启用空格。

使用<绕过

采用<>绕过

注意:<>这是一个重定向操作符,表示以“读写模式”打开文件。在这里,它用于将文件 /tmp/flag.txt 同时作为输入和输出(但实际上 cat 命令通常只读取文件,不会写入文件,所以这个操作符的效果与单纯读取类似)。

1.3 大括号扩展

利用大括号扩展将命令和参数组合,避免显式空格

2.多命令执行

2.1 分号分隔

否成功都执行后面的。就是无论前一个命令

2.2 逻辑与

只有前一个命令成功才执行后面的。

2.3 逻辑或

只有前一个命令失败才执行后面的。

2.4 管道

前一个命令的输出作为后一个命令的输入

3.关键词过滤绕过

3.1 变量绕过

将命令或文件名拆分成多个部分再组合执行。

3.2 转义符绕过

\转义符号只对一些特殊符号转义,对字母转义跟不转义效果一样。

3.3 引号分割

采用引号将命令名或参数分割开。

3.4 通配符绕过

?匹配单个字符

*匹配多个字符

4.编码绕过

4.1 Base64编码

将命令转换为Base64编码,继而通过管道解码执行,绕过关键字检测。

4.2 十六进制编码

将命令转换为十六进制格式,应用xxd或其他工具解码执行。

4.3 URL编码

重要用于Web应用,将特殊字符URL编码绕过过滤。

http://target.com/cmd.php?input=cat%20/tmp/flag.txt

URL编码表(常用):

4.4 Unicode编码

利用Unicode转义序列表示字符,绕过基于ASCII的检测。

5.内联绕过

内联执行是命令注入中常用的一种技术,它利用命令替换来执行任意命令。通过反引号或 $(),攻击者可以绕过一些简单的过滤机制。在安全开发中,应该始终假设用户输入是不可信的,并采取相应的防护措施。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/973342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

帮同学签了个到,我发现竟然能盗光他所有账号

你的数字生活,可能正悬在一根头发上。 我们先做一个简单的灵魂拷问:你所有网络账号的密码,是不是都在用那么两三个“老伙计”轮换?或者更糟糕一点,你是不是在用同一个密码,通行于淘宝、微信、Steam 和那个不知名…

MyBatis Flex 讲解使用

目录1 MyBatis Flex1.1 简介1.2 简单操作1.2.1 配置1.2.1.1 pom.xml1.2.1.2 yml配置1.2.2 生成代码1.2.3 业务类1.2.3.1 实体1.2.3.2 实体脱敏1.2.3.3 Mapper接口1.2.3.4 Service层1.3 MyBatis-Flex 核心 API1.3.1 条件…

Catalog

东西有点杂,稍微整理一下。 Algorithm Introduction【老】Splay 浅谈

NCHU_Blog1_刘素萍_单部电梯调度程序

一、前言 经过前几周的课堂讲解与视频学习,已初步掌握 Java 的基础用法。相较于 C 语言,Java 最核心的差异在于引入了 “类” 的概念 —— 课堂上老师对此概念花了大力气进行了重点讲解。在PTA完成了前三次 Java 迭代…

同花顺通达信常用颜色图标

1)Color 自定义色格式为color+“Rrggbb”:Rr、Gg、Bb表示红蓝色、绿色和蓝色 2)Colorblack 黑色画黑色 3)Colorblue 蓝色画蓝色 4)Colorgreen 绿色画绿色 5)Colorcyan 青色画青色 6)Colorred 红色画红色 7)Col…

hive sql开发难不难

Hive SQL开发的难度因人而异,但总体来说,对于熟悉SQL的开发者来说,Hive SQL的学习曲线相对平缓,因为Hive SQL语法与标准SQL相似。以下是对Hive SQL开发难度、入门建议以及是否适合初学者的分析: Hive SQL开发难度…

数学的大厦(五):除法、有理数、等价关系

在整数这个崭新的世界里,乘法是畅通无阻的。但它的逆运算——除法,又成了新的不可能任务。6 / 3 = 2,没问题,结果还是个整数。但 3 / 6 呢?2 / 3 呢?1 / 2 呢?在整数的世界里,没有它们的容身之处。 是时候再次…

KingbaseES电科金仓数据库SQL调优 - 实践

KingbaseES电科金仓数据库SQL调优 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…

一种自定义二维码的加码、解码、识别和绘制算法的逆向和重构

1. 珊瑚码定义 这种二维码是在某金融机构打码机上使用的一种形似二维码但是又不遵循二维码标准的图形码。其形状在正方形四个角上有回型图案,中间为一个大型回字图案。 在生物学上来看比较像簇生珊瑚,故暂时命名为珊…

ddddocr: 安装ddddocr

一,项目官方地址 https://github.com/sml2h3/ddddocr 二,安装 $ pip install ddddocr 三,代码: import base64 from ddddocr import DdddOcrocr = DdddOcr()img = "data:image/png;base64,iVBORw0KGgoAAAANSU…

电梯调度总结Blog

一、前言 三次电梯调度大作业,迭代需求升级,任务逐渐增加需求,难度逐渐增加,主要是培养我们面向对象编程的思想、算法设计、代码重构与问题排查。 知识点包括类与对象的定义与使用、构造方法、getter/setter 方法封…

浅谈最近星某克被指追杀式营销的技术实现方式和商业价值利弊

本文从技术架构角度剖析星巴克App"追杀式"营销现象,探讨位置感知技术实现原理、数据隐私边界与用户体验权衡,强调技术创新应尊重用户隐私,在商业价值与用户权益间找到合理平衡。关注我,获取更多企业级架…

深入解析:职场发展—如何避雷垃圾公司

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

ssh隧道

有些服务器只开放了22端口给ssh连接, 我们在服务器A上部署的其他应用使用其他端口(如5601)就无法访问,这时候我们可以找一台中间服务器B,这台服务器B要稳定而且能和服务器A、我们的电脑通信(这台我用的windows服…

AI搜索驱动的品牌传播变革:品牌如何在“被搜索”转向“被理解”的浪潮中重构增长力 - 教程

AI搜索驱动的品牌传播变革:品牌如何在“被搜索”转向“被理解”的浪潮中重构增长力 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !import…

数据库常用编码和压缩算法介绍

数据库常用编码和压缩算法介绍在设计一个优秀的数据库时,存储空间、性能以及资源占用无疑是必须深入考虑的关键因素。这些因素直接关联到数据库的效率、成本以及用户的体验。这里面,编码与压缩也是至关重要的一环。 …

onenote复制纯文本的方法

onenote在复制文本到其他地方进行粘贴后,经常会变成图片,以下是解决办法: 方法一: 1. 使用win + Q 或者 win + S 复制后再粘贴 方法二: 2. 复制到word中 方法三: 3. 上使用Ditto剪切板增强软件3.1 复制后 使用Al…

hive sql开发有啥优势

Hive SQL开发相较于传统的SQL开发,具有以下显著优势:灵活的数据模型:Hive支持非结构化和半结构化数据,如文本文件、图像、视频等。这使得它能够处理更多种类的数据,满足更广泛的业务需求。 大规模数据处理能力:H…

hive sql开发怎样避免错误

在Hive SQL开发中,避免错误的方法有很多。以下是一些建议:熟悉Hive SQL语法:确保你对Hive SQL的语法有深入的了解。这将帮助你避免编写错误的查询语句。 使用正确的数据类型:在定义表和列时,确保使用正确的数据类…

完整教程:C语言标准库完全指南

完整教程:C语言标准库完全指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&quo…