系统安全实验——执行任意文件

题目要求

靶机配置了ssh,可以账号test、密码123通过ssh登录到靶机进行攻击。(靶机IP地址见题目中网络拓扑图)。

靶机root文件夹下配置了getflag程序,用以获取flag,普通用户无权访问。

靶机用户文件夹下配置了具有root权限的可执行文件anyexe,它存在着可以利用并用来执行任意文件的漏洞。

请分析anyexe.c,利用其获取flag。

提示:危险函数system;环境变量USER


探索与思考

进入靶机后,看到两个文件:

运行exp,并查看exp.c

 

查询资料后获知,USER是一种环境变量,getenv()就是显示读取当前环境变量。如果当前USER的值是test,那么便会输出test is cool.

更改USER环境变量的值,规律一样。

 既然做过环境变量漏洞提权Path2实验,我想本次实验也是举一反三便可以。

于是向环境变量USER中添加/bin/bash

咦?为啥没用?

肯定是哪里出错了。

又是一段时间的查询资料后,发现/bin/bash是要程序运行的而不是打印的,那么就得有东西被打印出来,并且在/bin/bash运行以后,后面的“is”还是要被当成打印的文字,而不是运行的命令。

实验步骤 

 1.在USER环境变量中添加“;/bin/bash;#”

再次运行exp

whoami发现我已经是root啦!

 2.运行/root下的getflag,得到flag!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值