[ACTF2020 新生赛]Exec

[ACTF2020 新生赛]Exec

【命令注入】

打开题目链接,先根据题目描述尝试ping一下本地127.0.0.1。

在这里插入图片描述

可以看到下方是有回显的,由于当前页面输入,当前页面输出且仅发现这一个可输入的地方,因此直接尝试在该地址后方添加其他的Linux命令。

这里直接尝试通过几个Linux中的连接命令操作来连接两个命令,从而观察回显。

在这里插入图片描述

查看当前所在目录文件仅有这一个文件,且应该就是页面所显示的样式,因此尝试依次查看上级文件目录是否存在flag。

在这里插入图片描述

通过多次尝试最终得到flag。

在这里插入图片描述
在这里插入图片描述
当然这里可以有多种命令来得出结果:

127.0.0.1 & cat ../../../flag
127.0.0.1 ; cat ../../../flag
127.0.0.1 | cat ../../../flag
127.0.0.1 || cat ../../../flag

很多writeup表示; &两个符号意思一样,在此题中确实执行127.0.0.1 & cat ../../../flag与执行127.0.0.1 ; cat ../../../flag结果近乎相同,但是并不是因为他们的作用一样,而是由于&符号使得ping 127.0.0.1在后台执行,而cat ../../../flag随后执行,本质上并不相同。

补充:

Linux中; | || & &&的用法:

;:用;隔开每个命令, 每个命令按照从左到右的顺序执行,互不影响,所有命令都会执行。eg:command1 ; command2

|:上一条命令的输出,作为下一条命令参数输入。eg:command1 | command2

||:逻辑或,前面的命令为真后面的命令就不会执行。eg:command1 || command2

&:放在启动参数后面表示设置此进程为后台进程,即在Linux 终端命令的末尾加上一个 & 符号则将该任务放到后台去执行。eg:command1 &

&&:逻辑与,只有前面的命令为真才会执行后面的命令。eg:command1 && command2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值