五、Linux命令执行绕过技巧

Linux命令执行绕过指的是,你在进行web测试,已经拿到了找到了执行linux命令的地方,但是有过滤,比如输入ls会被过滤掉,但是l\s可能就不会过滤(l\s和ls一样同样能被执行)

一、连接符绕过

1.单引号

格式:l's'(两个单引号达到闭合,里面放置内容)
例如:ca't' 1'.'txt=cat 1.txt

2.双引号

格式:l"s"(两个双引号达到闭合,里面放置内容)
例如:ca"t" 1"."txt=cat 1.txt

3.反斜杠

格式:l\s
例如:ca\t 1\.txt=cat 1.txt

4.反引号

解释:这个跟之前不太一样,反引号里面的内容会被执行(反引号外面内容也会被单独执行),而执行后查看的内容会以报错的方式展示出来,反引号为`
格式:

15`who`15
结果:15jack未找到命令
其中的jack就是who执行后获得的结果

例如:

999`cat 1.txt`999
结果:999ak47999: command not found
ak47就是1.txt里面的第一行内容

关键:

上面的内容可能只能查看第一项(第一行)
建议用下面这种(其利用了反引号外面内容也会被单独执行)cat `999`1.txt
结果:Command '999' not found, did you mean:command 'c99' from deb gcc (4:9.3.0-1ubuntu2)command 'c99' from deb clang (1:10.0-50~exp1)Try: apt install <deb name>ak47
dwadwa
dwadaw
daw
daw
da
wd
aw
// 这样就读到了所有的内容

5.$()

解释:跟上面4.反引号完全一样,下面只举例一下$()外面内容也会被单独执行的情况

ca$(12)t 1.$(555550)txt
结果
12: command not found
555550: command not found
ak47
dwadwa
dwadaw
daw
daw
da
wd
aw

二、绕过空格

1.花括号

格式:{cat,1.txt}这样可以不用输入空格
示例:{cat,1.txt}=cat 1.txt

2.输入输出重定向

解释:linux中,小于号<表示的是输入重定向,就是把<后面跟的文件取代键盘作为新的输入设备,大于号>是输出重定向,比如一条命令,默认是将结果输出到屏幕

格式:cat<>1.txt如果不是查看文件,可能会把前面命令(此处cat)写入到相应位置(此处1.txt)

示例:cat<>1.txt=cat 1.txt

注意:有的情况下并不能使用,比如进入目录等

3.${IFS}

解释:${IFS}是分隔符的意思
格式:cat\${IFS}1.txt
示例:cat\${IFS}1.txt=cat 1.txt

4.进制

解释:看三

三、编码绕过

1.base64编码

解释:通过base64编码以此来混淆服务器过滤的筛选词语

格式:echo bHM=|base64 -d|bash解释:bHM=是ls的意思,echo bHM=将值bHM=传递给base64 -d(其会将其进行base64解码),base64 -d将解码后内容ls传递给bash运行

示例:echo Y2F0IDEudHh0|base64 -d|bash=cat 1.txt

2.十六进制编码

解释:所谓十六进制编码就是将字符串转换为ASCII然后将ASCII码对应的数字转换为十六进制,如a在ascii表为97,十六进制为61

示例:echo "2063617420312e747874"|xxd -r -p|bash(2063617420312e747874为cat 1.txt)

示例:$(printf "\x20\x63\x61\x74\x20\x31\x2e\x74\x78\x74")(\x20\x63\x61\x74\x20\x31\x2e\x74\x78\x74是cat 1.txt)

3.八进制编码

解释:xxd转属于16进制转换,在linux中八进制转换并没有类似的

示例:$(printf "\154\163")(\154\163是ls)

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

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

相关文章

20.8 OpenSSL 套接字SSL传输文件

有了上面的基础那么传输文件的实现就变得简单了&#xff0c;在传输时通常我们需要打开文件&#xff0c;并每次读入1024个字节的数据包&#xff0c;通过SSL加密传输即可&#xff0c;此处的文件传输功能在原生套接字章节中也进行过详细讲解&#xff0c;此处我们还是使用原来的密钥…

Mysql8与mariadb的安装与常用设置

一、v10服务器mariadb的安装与常用设置 V10服务器默认安装了mariadb数据库。也可使用命令sudo yum install mariadb手动安装或升级默认安装的版本。 1.1 修改数据库密码 systemctl restart mariadb,重启mariadb服务&#xff1b;mysql -u root -p,要求输入密码直接回车&#…

微信小程序自动化采集方案

本文仅供学习交流&#xff0c;只提供关键思路不会给出完整代码&#xff0c;严禁用于非法用途&#xff0c;拒绝转载&#xff0c;若有侵权请联系我删除&#xff01; 一、引言 1、对于一些破解难度大&#xff0c;花费时间长的目标&#xff0c;我们可以先采用自动化点击触发请求&…

Bootstrap

一. 简介 使用版本: 建议使用v3版本 下载本地: 用于生产环境的 Bootstrap 使用CDN: 使用 BootCDN 提供的免费 CDN 加速服务 注意事项: 1. 只有下载到本地的pycharm中, 才会有提示. 2. 下载到本地: 含三个文件夹css 只有bootstrap.min.css和bootstrap.css生效, 其他可以…

centos7安装jdk-阿里云服务器

1.背景 2.安装步骤 步骤:(特别注意:虚拟机安装的一般是32位的操作系统,jdk也必须使用32位的) 查看虚拟机版本:sudo uname --m i686 //表示是32位 x86_64 // 表示是64位 查看是否已经安装jdk 看看 是否设置了jdk环境变量: echo $JAVA_HOME&#xff1b; 或运行命令&#xff1a; …

CMD命令行中如何切换路径。

问题描述&#xff1a; windows命令行中我记得切换命令是cd E:命令就行了呀。但是现在好像不行了。 问题解决&#xff1a;现在windows命令行中切换命令需要在cd E:之间增加一个/D。注意是/D&#xff0c;不是\D。 具体命令如下&#xff1a;CD /D E: 结果如下如所示&#xff1a…

Linux开发工具的使用(vim、gcc/g++ 、make/makefile)

文章目录 一 &#xff1a;vim1:vim基本概念2:vim的常用三种模式3:vim三种模式的相互转换4:vim命令模式下的命令集- 移动光标-删除文字-剪切/删除-复制-替换-撤销和恢复-跳转至指定行 5:vim底行模式下的命令集 二:gcc/g1:gcc/g的作用2:gcc/g的语法3:预处理4:编译5:汇编6:链接7:函…

Leetcode—2731.移动机器人【中等】

2023每日刷题&#xff08;二十二&#xff09; Leetcode—2731.移动机器人 算法思路 参考自灵茶山艾府 实现代码 class Solution { public:const int MOD 1e9 7;int sumDistance(vector<int>& nums, string s, int d) {int n nums.size();vector<long long…

Vue Vuex模块化编码

正常写vuex的index的时候如果数据太多很麻烦&#xff0c;如有的模块是管理用户信息或修改课程等这两个是不同一个种类的&#xff0c;如果代码太多会造成混乱&#xff0c;这时候可以使用模块化管理 原始写法 如果功能模块太多很乱 import Vue from vue import Vuex from vuex …

基于改进细化法的线激光中心提取方法

论文地址:Excellent-Paper-For-Daily-Reading/application/centerline at main 应用:应用——中心线 时间:2023/11/07 摘要 线激光条纹中心线提取的精度和速度是线激光三维测量技术的关键,针对现有的激光条纹中心提 取方法在速度快和精度高之间的矛盾,提出一种改进细化…

[JavaWeb]——JWT令牌技术,如何从获取JWT令牌

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 一、前言&#xff1a; 二、JWT令牌技术 2.1 概念介绍 2.2 组成介绍 2.3 JWT对象介绍 2.4 JWT生成 2.5 JWT校验 三、获取JWT令牌 四、总结 一、前言&#xff1a; 问题抛出❓ 许多网页都会设置登录界面&a…

Qt 继承QAbstractListModel实现自定义ListModel

1.简介 QAbstractListModel类提供了一个抽象模型&#xff0c;可以将其子类化以创建一维列表模型。 QAbstractListModel为将其数据表示为简单的非层次项目序列的模型提供了一个标准接口。它不直接使用&#xff0c;但必须进行子类化。 由于该模型提供了比QAbstractItemModel更…

ZZ308 物联网应用与服务赛题第B套

2023年全国职业院校技能大赛 中职组 物联网应用与服务 任 务 书 &#xff08;B卷&#xff09; 赛位号&#xff1a;______________ 竞赛须知 一、注意事项 1.检查硬件设备、电脑设备是否正常。检查竞赛所需的各项设备、软件和竞赛材料等&#xff1b; 2.竞赛任务中所使用的…

不完全考虑构造+dp与构造:1107T2

http://cplusoj.com/d/senior/p/SS231107B 发现reverse操作会对一堆数进行修改&#xff0c;但如果我们只关注其中一些数呢&#xff1f; 假设我们已经构造好 [ 1 , i − 1 ] [1,i-1] [1,i−1]&#xff0c;我们现在尝试构造 [ i , n ] [i,n] [i,n]&#xff0c;我们可操作的范…

JAVA中类和对象的认识

1、面向对象的初步认知 1.1 什么是面向对象 Java是一门纯面向对象的语言(Object Oriented Program&#xff0c;简称OOP)&#xff0c;在面向对象的世界里&#xff0c;一切皆为对象。面 向对象是解决问题的一种思想&#xff0c;主要依靠对象之间的交互完成一件事情。用面向对象的…

最新Cocos Creator 3.x 如何动态修改3D物体的透明度

Cocos Creator 3.x 的2D UI有个组件UIOpacity组件可以动态修改UI的透明度,非常方便。很多同学想3D物体上也有一个这样的组件来动态的控制与修改3D物体的透明度。今天基于Cocos Creator 3.8 来实现一个可以动态修改3D物体透明度的组件Opacity3D。 对啦&#xff01;这里有个游戏…

Web服务器的搭建

网站需求&#xff1a; 1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个网站目录分别显示学生信息&#xff0c;教学资料和缴费网站&#xff0c;基于www.openlab.com/student 网站访问学生信息&#xff0c;www.openlab.com/data网站访问教…

适合汽车应用的MAX49017ATA/VY、MAX40025AAWT、MAX40025CAWT、MAX40026ATA/VY(线性)微功耗比较器

一、MAX49017ATA/VY 内置基准电压源的1.7V、双通道微功耗比较器 MAX49017是一款节省空间的双通道比较器&#xff0c;内置基准电压源&#xff0c;提供推挽输出。该器件通过了AEC-Q100认证&#xff0c;非常适合汽车应用&#xff0c;例如汽车电池监控系统、信息娱乐系统音响主机和…

AI 绘画 | Stable Diffusion 涂鸦功能与局部重绘

在 StableDiffusion图生图的面板里&#xff0c;除了图生图&#xff08;img2img&#xff09;选卡外&#xff0c;还有局部重绘(Inpaint)&#xff0c;涂鸦(Sketch)&#xff0c;涂鸦重绘(Inpaint Sketch),上传重绘蒙版&#xff08;Inpaint Uplaod&#xff09;、批量处理&#xff08…

网络安全与TikTok:年轻一代的数字素养

在数字时代&#xff0c;互联网成为我们生活的重要组成部分&#xff0c;而社交媒体平台则在年轻一代中变得日益流行。其中&#xff0c;TikTok作为一个短视频分享平台&#xff0c;吸引了全球数以亿计的用户&#xff0c;尤其年轻人。 然而&#xff0c;与其快速的普及相伴随的是网…