当前位置: 首页 > news >正文

Windows下命令执行绕过技巧总结(渗透测试专用)

一、连接符

1、双引号

  • 不要求双引号闭合

  • 举例:"who"a"mi" //闭合的 "who"a"mi //不闭合的

2、圆括号

  • 必须在两边,不能包括中间的字符。

  • 举例:((whoami))

3、^符号(转译符号)

  • 不可以在结尾,同样不要求闭合

  • 不能同时连续加2个^符号,因为^号是cmd中的转义符,跟在他后面的符号会被转义

  • 举例:wh^o^a^mi

4、常规替换

  • %变量名:需要替换的内容=值%

  • 如下举个例子:@符号能够将值传递到前面的环境变量中,如下就是将test传到c@alc的@位置,输出将是ctestalc。

  • cmd /c "set x=c@alc & echo %x:@=test% | cmd"

二、set命令和Windows变量

  • %任意字符%默认为空值

  • set用来设置一个变量,%%括起来的用来引用变量,举例如下:

set a=whoami      //设置变量a=1
echo a            //输出一个a字符
echo %a%          //输出变量a的值
%a%               //直接引用a变量内的值进行执行

  • 多环境变量合并拼接利用

cmd /c"set a=ser&& set b=ne&& set c=t u&&call %b%%c%%a%"
cmd /c "string":表示:执行字符串string指定的命令,然后终止。
cmd /V:ON /C "set a=ser&& set b=ne&& set c=t u&& !b!!c!!a!"
/v:on : 启用延迟的环境变量扩展,启用的话,可以不使用call命令来扩展变量,使用%var%或!var!来扩展变量,也就是可以使用感叹号字符来替代运行时的环境变量值。

三、切割字符串

命令行中存在类似php和python之类的语言中截取字符串的用法。

截取字符串的语法:%变量名:~x,y%

  • 即对变量从第x个元素开始提取,总共取y个字符。

  • 当然也可以写-x,-y,从后往前取

  • 写作-x,可取从后往前数第x位的字符开始,一直到字符的末尾

  • -y来决定少取几个字符

  • 举例如下:

set a=whoami
echo %a%
%a:~0%                   //取出a的值中的所有字符            //此时正常执行whoami
%a:~0,6%                 //取出a的值,从第0个位置开始,取6个值 //此时因为whoami总共就6个字符,所以取出后正常执行whoami
%a:~0,5%                 //取5个值,whoam无此命令
%a:~0,4%                 //取4个值,whoa无此命令

echo %a%
echo %a:~-5%        //从后往前5个字符
echo %a:~-5,-1%     //从后往前5个字符并且去掉最后一个
echo %a:~-5,1%      //从后往前5个词组并且值展示第一个字符

  • 综合利用:先用set命令查看所有的环境变量及值,然后根据自己想要的命令进行截取拼接。

  • 空格被过滤的情况下也可以根据set变量的值中有空格的值进行提取。

四、for循环拼接命令

For循环经常被用来混淆处理cmd命令,使得cmd命令看起来复杂且难以检测。最常用的For循环参数有 /L,/F参数。

格式为:

  • for 参数 %变量名 in (相关文件或命令) do 执行的命令

具体利用:

  • for /L %variable in (start,step,end) do command [command-parameters]

  • 该命令表示以增量形式从开始到结束的一个数字序列。使用迭代变量设置起始值(start).然后逐步执行一组范围的值,直到该值超过所设置的终止值 (end)。

  • /L 将通过对start与end进行比较来执行迭代变量。

  • 如果start小于end,就会执行该命令,否则命令解释程序退出此循环。

  • 还可以使用负的 step以递减数值的方式逐步执行此范围内的值。例如,(1,1,5) 生成序列 1 2 3 4 5,而 (5,-1,1) 则生成序列 (5 4 3 2 1)。

举例利用:

cmd /C "for /L %i in (1,1,5) do start cmd"            //会执行打开5个cmd窗口

FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
(file-set) 为文件名,for会依次将file-set中的文件打开,并且在进行到下一个文件之前将每个文件读取到内存,按照每一行分成一个一个的元素,忽略空白行。
("string")代表字符串
('command')代表命令。

举例利用:

假如文件aa.txt中如下内容:

第1行第1列 第1行第2列;第1行第3列;第1行第4列
第2行第1列 第2行第2列;第2行第3列;第2行第4列

参数一:for /F %i in (aa.txt) do echo %i //默认以空格或者Tab键作为分隔符

参数二:for /F "delims=;" %i in (aa.txt) do echo %i //将;作为分隔符进行分割

参数三:for /F "tokens=2 delims=;" %i in (aa.txt) do echo %i //指定用; 作为分隔符并且提取第2列数据

在实战中利用:

文件aa.txt中内容为自己的命令

whoami systeminfo
ipconfig dir

参数一:for /F %i in (aa.txt) do %i //直接执行第一行第一个和第二行第一个参数的命令

参数二:for /F "tokens=2 delims= " %i in (aa.txt) do %i //指定用 空格 作为分隔符并且执行第二列参数命令

五、绕过空格过滤

(1) 常规执行方式

直接用%26替换空格

(2) echo输出(绕过空格)

通过=绕过echo test123中的空格

举例:http://xxxx.com/test.php?addr=baidu.com%26echo=test123

(3)逗号和分号

逗号与分号某些情况可以当作一个终止符号或者代替空格。

相关文章:

Windows下命令执行绕过技巧总结(渗透测试专用)

一、连接符1、双引号不要求双引号闭合举例:"who"a"mi" //闭合的 "who"a"mi //不闭合的2、圆括号必须在两边,不能包括中间的字符。举例:((whoami))3、^符号(转译符号)不可以在结尾&…...

mindspore的MLP模型(多层感知机)

导入模块 import hashlib import os import tarfile import zipfile import requests import numpy as np import pandas as pd import mindspore import mindspore.dataset as ds from mindspore import nn import mindspore.ops as ops import mindspore.numpy as mnp from …...

【论文极速读】VQ-VAE:一种稀疏表征学习方法

【论文极速读】VQ-VAE:一种稀疏表征学习方法 FesianXu 20221208 at Baidu Search Team 前言 最近有需求对特征进行稀疏编码,看到一篇论文VQ-VAE,简单进行笔记下。如有谬误请联系指出,本文遵循 CC 4.0 BY-SA 版权协议,…...

Flask-Blueprint

Flask-Blueprint 一、简介 概念: Blueprint 是一个存储操作方法的容器,这些操作在这个Blueprint 被注册到一个应用之后就可以被调用,Flask 可以通过Blueprint来组织URL以及处理请求 。 好处: 其本质上来说就是让程序更加松耦合…...

png图片转eps格式

下载latex工具后 在要转换的png图片文件夹路径下,打开命令行窗口,输入以下命令: bmeps -c fig图片名.png 图片名.eps...

English Learning - L2 语音作业打卡 Day2 2023.2.23 周四

English Learning - L2 语音作业打卡 Day2 2023.2.23 周四💌 发音小贴士:💌 当日目标音发音规则/技巧:🍭 Part 1【热身练习】🍭 Part2【练习内容】🍭【练习感受】🍓元音[ ɔ: ]&…...

低频量化之 可转债 配债 策略数据 - 全网独家

目录历史文章可转债配债数据待发转债(进展统计)待发转债(行业统计)待发转债(5证监会通过,PE排序)待发转债(5证监会通过,安全垫排序)待发转债(4发审…...

论文阅读_DALLE-2的unCLIP模型

论文信息 name_en: Hierarchical Text-Conditional Image Generation with CLIP Latents name_ch: 利用CLIP的层次化文本条件图像生成 paper_addr: http://arxiv.org/abs/2204.06125 doi: 10.48550/arXiv.2204.06125 date_read: 2023-02-12 date_publish: 2022-04-12 tags: [‘…...

软件测试5年,历经3轮面试成功拿下华为Offer,24K/16薪不过分吧

前言 转眼过去,距离读书的时候已经这么久了吗?,从18年5月本科毕业入职了一家小公司,到现在快5年了,前段时间社招想着找一个新的工作,前前后后花了一个多月的时间复习以及面试,前几天拿到了华为的…...

【软件工程】课程作业(三道题目:需求分析、概要设计、详细设计、软件测试)

文章目录:故事的开头总是极尽温柔,故事会一直温柔……💜一、你怎么理解需求分析?1、需求分析的定义:2、需求分析的重要性:3、需求分析的内容:4、基于系统分析的方法分类:5、需求分析…...

05 DC-AC逆变器(DCAC Converter / Inverter)简介

文章目录0、概述逆变原理方波变换阶梯波变换斩控调制方式逆变器分类逆变器波形指标1、方波变换器A 单相单相全桥对称单脉冲调制移相单脉冲调制单相半桥2、方波变换器B 三相180度导通120度导通(线、相的关系与180度相反)3、阶梯波逆变器独立直流源二极管钳…...

带你深层了解c语言指针

前言 🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯 c语言进阶 🔑个人信条: 🌵知行合一 🍉本篇简介:>:介绍c语言中有关指针更深层的知识. 金句分享: ✨今天…...

2-MATLAB APP Design-下拉菜单栏的使用

一、APP 界面设计展示 1.新建一个空白的APP,在此次的学习中,我们会用到编辑字段(文本框)、下拉菜单栏、坐标区,首先在界面中拖入一个编辑字段(文本框),在文本框中输入内容:下拉菜单栏的使用,调整背景颜色,字体的颜色为黑色,字体的大小调为26. 2.在左侧组件库常用栏…...

七、HTTPTomcatServlet

1,Web概述 1.1 Web和JavaWeb的概念 Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。 在我们日常的生活中,经常会使用浏览器去访问百度、京东、传智官网等这些网站,这些网站统称为Web网站。如下就是通…...

LeetCode 热题 C++ 198. 打家劫舍

力扣198 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存…...

C语言学习笔记——程序环境和预处理

目录 前言 一、程序环境 1. 翻译环境 1.1 主要过程 1.2 编译过程 2. 运行环境 二、预处理 1. 预定义符号 2. #define 2.1 #define定义标识符 2.2 #define定义宏 2.3 命名约定和移除定义 3. 条件编译 4. 文件包含 结束语 前言 每次我们写完代码运行的时候都…...

「JVM 高效并发」Java 内存模型

Amdahl 定律代替摩尔定律成为了计算机性能发展的新源动力,也是人类压榨计算机运算能力的最有力武器; 摩尔定律,描述处理器晶体管数量与运行效率之间的发展关系;Amdahl 定律,描述系统并行化与串行化的比重与系统运算加…...

C语言刷题(2)——“C”

各位CSDN的uu们你们好呀,今天小雅兰来复习一下之前所学过的内容噢,复习的方式,那当然是刷题啦,现在,就让我们进入C语言的世界吧 当然,题目还是来源于牛客网 完完全全零基础 编程语言初学训练营_在线编程题…...

第一个 Spring MVC 注解式开发案例(初学必看)

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

openresty学习笔记

openresty 简介 openresty 是一个基于 nginx 与 lua 的高性能 web 平台,其内部 集成了大量精良的 lua 库、第三方模块以及大数的依赖项。用于 方便搭建能够处理超高并发、扩展性极高的动态 web 应用、 web 服务和动态网关。 openresty 通过汇聚各种设计精良的 ngi…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

docker详细操作--未完待续

docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践&#xff0c;很多人以为AI已经强大到不需要程序员了&#xff0c;其实不是&#xff0c;AI更加需要程序员&#xff0c;普通人…...