继续探索之路,经过昨天的题目,忽然有那么点开窍了,今天继续:

  

  看题目,还是用level对应的级别的帐号和密码登录,flag02的程序源码如图上所示,getegid 和 geteuid就不说了,这个程序首先的漏洞在于:

1、既然是flag02创建的,就不该让它有被别的用户执行的权限

  2、又用了获取环境变量的函数getenv,上次level01中被我们利用了/uesr/bin/env来指定成执行我们自己写的程序,这个次应该也是不例外

既然用了USER这个环境变量,那么直接:USER=/bin/bash

但是执行后,显然是被echo直接把当成字符串输出了,这样不对啊,甚至都有点想直接去改echo了(被上次的思路影响),但是/bin下的echo可是root权限的,你可删除不了哦:

  

   怎么办?我们的思路还是对的,应该还是在USER这个环境变量上下手,但是不能执行成命令啊!被echo。。。等等,命令行下:echo ;test

会显示成,哈哈,那么方法就来了:

  

  

  你甚至可以USER=';getflag;',这个程序的owner是flag02,这个也可以getflag,上面是用了USER=';/bin/sh;'的方法,下面是运行结果

运行环境变量和命令行下的命令是;是分割符,这个是要转过来的地方

Exploit-Exercises nebule 旅行日志(三)的更多相关文章

  1. Exploit-Exercises nebule 旅行日志(一)

    exploit-exercises.com provides a variety of virtual machines, documentation and challenges that can ...

  2. Exploit-Exercises nebule 旅行日志(七)

    接着上次的路程继续在ubuntu下对漏洞的探索练习,这次是level06了 先看下level06的问题描述: 明确下,这个flag06的账户是从unix继承过来的,什么意思,背景: unix的账户系统 ...

  3. Exploit-Exercises nebule 旅行日志(六)

    接着上次的路程继续在ubuntu下对漏洞的探索练习,这次是level05了 先看下level05的问题描述: 从level05的描述上看,是/home/flag05目录的权限有漏洞,看来多半是又跟fl ...

  4. Exploit-Exercises nebule 旅行日志(五)

    接着上次的路程继续在ubuntu下对漏洞的探索练习,这次是level04了 先看下level04的问题描述: (level4.c) #include <stdlib.h> #include ...

  5. Exploit-Exercises nebule 旅行日志(四)

    接着上次的路程继续在ubuntu下对漏洞的探索练习,这次是level03了 先看下level03的问题描述: 精炼下问题,在/home/flag03的目录下有个crontab的文件是每分钟都在执行 这 ...

  6. Exploit-Exercises nebule 旅行日志(二)

    接着上次的路程继续在ubuntu下对漏洞的探索练习,这次是level01了 先看下level01的问题描述: 目标还是要能运行getflag这个可执行的程序,但如果直接运行是不行的,会提示: getf ...

  7. MySQL binlog日志三种模式选择及配置

    在认识binlog日志三种模式前,先了解一下解析binlog日志的命令工mysqlbinlog.mysqlbinlog工具的作用是解析mysql的二进制binlog日志内容,把二进制日志解析成可以在M ...

  8. Linux查看日志三种命令

    第一种:查看实时变化的日志(比较吃内存) 最常用的: tail -f filename (默认最后10行,相当于增加参数 -n 10) Ctrl+c 是退出tail命令   其他情况: tail -n ...

  9. 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色

    简介 在简单恢复模式下,日志文件的作用仅仅是保证了SQL Server事务的ACID属性.并不承担具体的恢复数据的角色.正如”简单”这个词的字面意思一样,数据的备份和恢复仅仅是依赖于手动备份和恢复.在 ...

随机推荐

  1. ng/cli new skip install and do not create a folder

    ng new myApp --skip-install --directory ./

  2. 浅谈Cocos2d-js ListView滑动防止误触

    Event背景 最近,接到一个需求,优化房间内设置界面: 表面问题:用户在按钮表面,滑动界面的时候,总会误触到界面上的按钮或者复选框 根本问题:由于ListView的事件具有传递性,导致双重事件触发, ...

  3. angular + socket.io+nodejs

    一.服务器端: 基本和nodejs工程相同 https://www.cnblogs.com/xuanmanstein/p/10509445.html 安装socket.io npm i --save ...

  4. DS博客作业01--日期抽象数据类型设计与实验

    1.思维导图及学习体会(2分) 1.1第一章绪论知识点思维导图 1.2 学习体会 2.大作业作业内容 (6分) 2.1 设计日期的ADT类型(1分) ADT DATE{ 数据对象:D={year,mo ...

  5. 浅谈BFC的理解

    在 web 页面布局中,有三种控制元素版式布局的模型: 普通流 (Flow) 元素在 HTML 中按照先后位置从上至下的流式排列方式布局. 浮动流(Float) 在浮动布局中,元素首先按照普通流的位置 ...

  6. ArcGIS中删除“点”附带的对应“文本信息”

    现状: 用ArcMap打开对应的.mxd文件,导入KML数据后,几何类型“点” - 每一个点都附带对应的文本信息“Placemark”,如下图: 问题:ArcGIS中如何 删除“点”附带的对应“文本信 ...

  7. 微信小程序onlaunch异步,首页onLoad先执行?

    按照原理是小程序初始化时会先触发APP里的onLaunch事件,之后再执行页面Page里的onLoad事件.但实际请求时在onLaunch事件中请求获取数据,等待返回值的时候Page里的onLoad事 ...

  8. ibatis项目应用

    创建数据库表: create table u_student( student_id number 16, student_name varchar2(108), student_code numbe ...

  9. 双目深度估计传统算法流程及OpenCV的编译注意事项

    起因: 1. 双目立体视觉中双目深度估计是非常重要且基础的部分,而传统的立体视觉的算法基本上都在opencv中有相对优秀的实现.同时考虑了性能和效率.因此,学习使用opencv接口是非常重要的. 2. ...

  10. 配置python3

    1. 下载解压.$ wget https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz$ tar zxvf Python-3.4.1.tgz 2 ...