这是批处理文件注入吗?

2023-12-05

C:\>batinjection OFF ^& DEL c.c

batinjection.bat 的内容为ECHO %*

我听说过 SQL 注入,虽然我从未真正做过,但这就是注入吗?有不同类型的注射吗?这是其中之一吗?

或者还有另一个技术术语吗?或者更具体的术语?

Note- 之前的编辑有C:\>batinjection OFF & DEL c.c(即没有 ^%)和ECHO %1(即没有%*)这不太正确。我已经改正了。不影响答案。


您的示例提出了三个更容易理解的有趣问题 分开时。

首先,Windows允许在一行上执行多个语句 用“&”分隔。这可能会被用于注入攻击。

其次,ECHO 解析并解释传递给它的消息。如果消息是 “关”还是“/?”或者甚至是空白,那么 ECHO 将提供不同的预期 行为不仅仅是将消息复制到标准输出。

第三,您知道可以将代码注入到许多 可编写脚本的语言,包括批处理文件,并希望探索方法 识别它,以便您可以在代码中更好地防御它。

更容易识别事情发生的顺序 在您的脚本中,如果您在该语句之前和之后添加一条 echo 语句 你正在尝试注射。将其命名为 foo.bat。

@echo off
echo before
echo %1
echo after

现在,您可以更轻松地判断您的注入尝试是否在 命令行(不是注入)或作为参数的结果执行 扩展突破了 echo 语句并执行了新语句 (注射)。

foo dir

结果是:

before
dir
after

到目前为止还很正常。尝试使用 echo 解释的参数。

foo /?

结果是:

before
Displays messages, or turns command-echoing on or off.

  ECHO [ON | OFF]
  ECHO [message]

Type ECHO without parameters to display the current echo setting.
after

唔。 echo 命令的帮助。这可能不是预期的用途 echo 在该批处理文件中,但它不是注入。参数为 不用于“逃脱” echo 语句或的限制 批处理文件的语法。

foo dog & dir

结果是:

before
dog
after
[A spill of my current directory]

好吧,目录发生在脚本之外。不是注射。

foo ^&dir/w

结果是:

before
ECHO is off.
[A spill of my current directory in wide format]
after

现在,我们已经到达某个地方了。 dir 不是 ECHO 的函数,而是 在 before 和 after 语句之间运行。让我们尝试一下 更具戏剧性,但仍然基本无害。

foo ^&dir\/s

哎呀!您可以传递可能影响的任意命令 您的系统性能都在一个看似无害的“echo %1”中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

这是批处理文件注入吗? 的相关文章

  • Angularjs - 如何纠正来自另一个不依赖的模块的注入服务?

    我不明白模块化如何工作 I have 3 modules they are dependent on each other as shown in the picture App 模块包括 module1 和 module2 module2
  • JWT在浏览器中存储在哪里?如何防范CSRF?

    我知道基于 cookie 的身份验证 可以应用 SSL 和 HttpOnly 标志来保护基于 cookie 的身份验证免受 MITM 和 XSS 的影响 然而 需要采取更多特殊措施来保护其免受 CSRF 的影响 它们只是有点复杂 参考 ht
  • 将目录添加到path环境变量

    我的要求是将目录之一添加到path安装我的应用程序时 Windows 中的环境变量并将其删除path使用批处理文件卸载时的环境变量 在与此相关的 stackoverflow 答案之一中 建议将目录添加到路径环境变量中 setx path C
  • 验证数据库匹配中的 $_GET id 是否足够安全?

    我的网站上有 2 个页面 一个是 index php 索引页面列出了数据库中存在的所有帖子 另一个页面是 post php 当单击索引页面上的特定帖子时 帖子页面显示单个帖子 现在我用来列出 index php 上所有帖子的代码是 post
  • 如何验证使用 php 上传的文件不包含可执行二进制文件?

    使用简单的 Firefox 插件 黑客可以更改他们想要上传的任何文件的 MIME 类型 绕过文件类型检查器 然后 黑客可以使用 GIMP 等程序将 php 脚本嵌入到图像 音频或任何其他文件的二进制数据中 我该如何检查并防止这种情况发生 您
  • 如何使用批处理文件实现快速排序?

    虽然通常情况下 为工作选择正确的语言是件好事 但有时尝试用一种非常不合适的语言做一些事情可能会很有启发 它可以帮助您更好地理解问题 也许你不知道have按照您认为的方式解决它 它可以帮助您更好地理解该语言 也许它支持的功能比您想象的还要多
  • 如何查找具有特定模式的文件夹和文件

    我想编写一个批处理文件 该文件将写入日志包含特定模式以及排除文件夹的所有文件和文件夹 但没有成功 ECHO OFF for r c x in david do echo x findstr f exclude txt c x gt nul
  • 使用 WinRT 接受无效的 SSL 证书

    在某些情况下 您希望应用程序接受无效的 SSL 证书 测试环境 自签名证书等 在 NET 世界中 人们会使用ServerCertificateValidationCallback类这样做 不幸的是 该类不存在于 WinRT 上下文中 我需要
  • 在命令行java中突出显示文本[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一项任务是重新创建 unix cal 程序 除了一部分之外 相当简单 今天 它突出显示了该数字 我不知道该怎么做 关于如何在 Ja
  • 使用 Spring 注入 Log4J 记录器

    我有一个带有以下 web xml 的 spring 2 5 webapp
  • 如何从命令行执行 InDesign 扩展脚本?

    我需要从命令行 Windows 执行 InDesign 的 jsx 脚本 对于 Illustrator 可以使用以下命令轻松工作 C Program Files Adobe Adobe Illustrator CS6 64 Bit Supp
  • 在 Perl 中实现 CLI 工具的最佳实践是什么?

    我正在使用 Perl 实现 CLI 工具 我们可以遵循哪些最佳实践 作为前言 我花了 3 年时间为一家大型金融公司设计并实现了一个相当复杂的 Perl 命令行工具集 以下想法基本上是我们团队设计指南的一部分 用户界面 命令行选项 允许尽可能
  • 批量双延迟扩容?

    如果有意义的话 我正在尝试将延迟的扩张加倍 这就是我想要的 set var1 hello set var2 var1 set var3 var2 echo var3 然后有hello被显示 这不是我的实际代码 而是我需要它如何工作的示例 甚
  • 访问 Amazon EC2 上的 Mongodb 时出现问题

    我还有一个问题要问你 我有安装了 mondodb 的 Amazon EC2 实例 它工作得很好 除了一件事 我无法从外部 我的电脑 访问 连接到 它 我认为安全组的问题 这是某种默认防火墙 有谁知道如何配置EC2实例来访问mongodb 提
  • 在进程完成之前,Windows cmd.exe 中的管道不会转发标准输出?

    考虑 Windows 命令 shell cmd exe 中的管道 C gt feed filter 直到进料过程运行完成之后 进料过程的标准输出似乎才达到过滤过程的标准输入 这种类型的 缓冲 可能会导致长时间运行的馈送过程的输出消息出现烦人
  • 找到第一个命中后停止 DIR 命令搜索

    在 CMD EXE 中我可以使用以下命令搜索某些内容DIR 以下面的例子为例 DIR C EXCEL EXE A D B S 虽然需要一段时间才能看清C 盘的整个结构 但是第一次匹配还是比较快的 Q 有没有办法自动地一旦发现命中 就停止命令
  • 当机器人攻击时! [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • GSSAPI 中的 javax.naming.AuthenticationException

    我正在尝试使用 JAVA GSSAPI 执行 NTLM 绑定 我收到此错误 javax naming AuthenticationException GSSAPI 根异常是 javax security sasl SaslException
  • 从批处理文件中获取java版本

    如何获取java版本并希望从批处理文件中获取java版本中的 6 我尝试了下面的脚本 但没有成功 REM check java exists using JAVA HOME system variable if JAVA HOME ECHO
  • Node.js:将 repl 挂接到远程节点服务器

    假设我有一个节点服务器在 mysite com 上运行 有没有办法设置该服务器以便我可以使用节点的repl api http nodejs org docs latest api repl html to securely从我的本地计算机连

随机推荐

  • 使用 sf/mapview 连接两组坐标以创建线条

    我有一个数据集 其中一只鸟在一个位置 Blong Blat 捕获 然后在另一个位置 Elong Elat 再次遇到 这些坐标采用纬度 经度格式 我想用一条线连接捕获和遭遇位置并将它们绘制在地图视图中 在下面的数据中 每一行都是一只单独的鸟
  • opencsv的writeAll(ResultSet res,Boolean b)方法在数据周围添加双引号

    当我使用此函数写入 csv 文件时 所有数据都嵌入在双引号中 有没有办法在不使用双引号的情况下写入 csv 文件 CSVWriter writer new CSVWriter new FileWriter table csv t write
  • android 清单中的任何密度

    我在我的应用程序中遇到了一个惊人的问题 当我把anyDensity在清单中标记为 false 我的应用程序运行良好 但每当我将其设置为 true 时 我的应用程序就会变得模糊 我会在我的应用程序上创建一些位图 如果我这样做的话会有问题吗an
  • 以编程方式清除 IE 缓存与 InetCpl.cpl,ClearMyTracksByProcess

    我有一个托管网络浏览器控件的应用程序 它使用我的微软提供的代码示例 定期 清除缓存 http support microsoft com kb 262110 然而 我注意到 一段时间后 缓存会损坏或无法正常工作 应该超出缓存的请求 会被一遍
  • 如何获取用于调用 google api 的委托凭证对象?

    我正在尝试通过 API 获取 gsuite 警报 我已经按照他们的要求创建了一个服务帐户docs我已将该服务帐户分配给我的谷歌云功能 我不想使用环境变量或上传凭据以及源代码 但我想利用函数使用的默认服务帐户 from googleapicl
  • 修复跨线程异常

    我需要一些帮助来修复跨线程异常 我使用 Invoke 通常可以解决这个问题 但由于某种原因它不起作用 void paintTimer Elapsed object sender System Timers ElapsedEventArgs
  • 如何计算python中数组中的值与数组之和的比率? [复制]

    这个问题在这里已经有答案了 我有一个这样的数组 array 1 2 3 5 3 4 6 7 2 对于每个成员 我想计算它们与行总和的比率 因此 我在建议样本中的问题的结果是 result 1 1 2 3 2 1 2 3 3 1 2 3 5
  • iOS 逐帧视频向前/向后播放

    我想在 iOS 设备上以慢动作播放视频 我的视图包含一个视频 约 2 秒长 和一个滑块 用户可以移动滑块并逐帧 向前和向后 浏览电影 MPMoviePlayerController缺乏逐帧步进的能力 我读到MVAssetReader 但我不
  • 绑定 int64 (SQL_BIGINT) 作为查询参数会导致在 Oracle 10g ODBC 中执行期间出错

    我在 Oracle 10g 上使用 ODBC 3 0 插入表失败 我不知道为什么 数据库运行在Windows Server 2003上 客户端运行在Windows XP上 桌子 CREATE TABLE test testcol NUMBE
  • Flutter:预定的通知日期时间

    我正在寻找将 Flutter 的插件 date time picker 与本地通知集成 因此 当我选择日期时间时 我还会安排通知 这是我的代码 你能帮我吗 现在我没有任何错误 但代码不起作用 class test1 extends Stat
  • 如何规范工作目录中的行结尾

    我的 git 存储库中有以 LF 结尾的文件 不知何故 我的工作树中的一些文件被转换为 CRLF 有没有办法将我的工作树中的行结尾转换回 LF 请注意 我的目录中有一些文件 gitignore所以我不想简单地删除所有内容并再次检查 尽管如果
  • 在 mac 雪豹上启用 php [关闭]

    Closed 这个问题是无关 目前不接受答案 安装 Entropy PHP 5 3 03 pkg 我一直在尝试在我的 mac 上启用 php 但每次我将浏览器指向 test php 时 我得到的只是显示的源代码 我将 test php 放在
  • Bash 脚本 - Do-While 循环中的变量作用域

    我有一个 do while 循环 我在其中向自身添加一个变量 while read line do let variable variable someOtherVariable done return variable 当我回显 vari
  • 使用 C# .accdb 文件的 Microsoft Access 压缩和修复

    我需要使用 C 压缩并修复 accdb 最后一个 MS Access 版本 我尝试使用这个 var jroEngine new JRO JetEngineClass var old Provider Microsoft ACE OLEDB
  • 用 rpy 制作的图发送到 X11 突然关闭?

    我正在使用 RPy2 来绘制一些图 绘图显示 但 X11 窗口立即消失 我输入的内容如下CCFS是一个数据矩阵 import rpy2 robjects as robjects r robjects r pca r princomp CCF
  • 将 mongo ObjectId 转换为字符串并将其用于 URL 可以吗?

    document show id 4cf8ce8a8aad6957ff00005b 一般来说 我认为您应该谨慎向客户端公开内部结构 例如数据库 ID URL 很容易被操纵 并且用户可能访问您不希望他访问的对象 特别是对于 MongoDB 对
  • SQL Server:如何获取排它锁以防止竞争条件?

    我有以下 T SQL 代码 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE BEGIN TRANSACTION T1 Test This is a dummy table used for lock
  • PHP 多个复选框删除

    我很难解决删除多个复选框的问题 有人可以指导我找到解决方案吗 这里应该发生的是 用户可以勾选复选框并单击删除按钮来删除勾选的框 不幸的是 我的代码似乎不起作用 你能为我指出正确的方向吗 div class page img class pa
  • 为什么必须声明 Typescript 的环境接口实现?

    我有一些接口及其实现的定义 每个实现类都必须声明许多方法 我发现它乏味且多余 因为它只是一个定义 是否只是缺乏时间来实现此功能 或者为什么应该强制执行环境实现定义背后的某些想法 或者我错过了什么 UPDATE 我现在不喜欢我的问题 它是从一
  • 这是批处理文件注入吗?

    C gt batinjection OFF DEL c c batinjection bat 的内容为ECHO 我听说过 SQL 注入 虽然我从未真正做过 但这就是注入吗 有不同类型的注射吗 这是其中之一吗 或者还有另一个技术术语吗 或者更