我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Leviathan系列0-3

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Leviathan系列0-3

level0:warming up 管理员的坏习惯

  ls -a                   #发现隐藏目录 .backup

    ls .backup/        #发现bookmarks.html

     #下载bookmarks.html,用浏览器打开,搜索leviathan,发现leviathan1 的 password。



level1:初级调试,函数调用追踪 ltrace

    ltrace ./check      

         password: xxxx            #发现strcmp("xxx", "sex")

    #输入正确的秘钥获得shell



level2:文件替换漏洞

    ltrace ./printfile /tmp/snake/aaa.txt        #查看调用函数

    access("/tmp/snake/aaa.txt", 4) = 0

    snprintf("/bin/cat /tmp/snake/aaa.txt", 511, "/bin/cat %s", "/tmp/snake/aaa.txt") = 27

    system("/bin/cat /tmp/snake/aaa.txt"/bin/cat: file: Permission denied

  #问题出在/bin/cat命令,如果文件名中包含空格,那么最后一个语句就会变成cat两个文件。

  #空格前的文件名可以是指向密码文件的软连接。

    


level3:密码验证程序如何快速找到密码 strings命令

    ltrace ./level3    #没有发现strcmp,有可能是自写循环进行比较

    #常规思路,gdb调试当然是一个选择,但是对于许多程序,直接将密码以全局变量的形式保存在二进制文件中,则可以直接使用一下方法:

    strings ./level3   #仔细找找,尝试几次,可以发现密码是snlprintf。

    #输入密码可以获得shell

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Leviathan系列0-3

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Leviathan系列0-3

level0:warming up 管理员的坏习惯  ls -a                   #发现隐藏目录 .backup    ls .backup/        #发现bookmarks.html     #下载bookma
2023-01-31

krypton系列0-3

level 0:base64解码    echo S1JZUFRPTklTR1JFQVQ= | base64 -dlevel 1:ROT13加密    百度一个ROT13的解密网站,或者使用前面bandit系列level 11提到的解密命令
2023-01-31

MySQL系列:(3)MySQL加强

DDL数据定义语言:create / drop / alterDML数据操作语句:insert / delete /update / truncateDQL数据查询语言:select / show2.1、什么是数据约束对表中的列值数据进行约
2023-01-31

JDBC系列:(3)使用Prepared

执行sql语句的接口接口作用Statement接口用于执行静态的sql语句PreparedStatement接口用于执行预编译sql语句CallableStatement接口用于执行存储过程的sql语句(call xxx)PreparedS
2023-01-31

MyBatis系列:(3)基于MyBat

Emp.javapackage com.rk.entity;public class Emp {    private Integer id;    private String name;    private Double sal;  
2023-01-31

SCCM 2007系列3 配置

每天一篇SCCM 2007的系列文章,希望大家喜欢我这样的分享哈~一定要多来捧场哦,当然欢迎大家提问,我尽力把知道的给大家解答哈!上一篇给大家分享了安装SCCM 2007,今天给大家主要分享下配置,我的分享还是老风格,手把手的教,详细的您都
2023-01-31

GNU make系列之介绍Makefile(0)

一.欢迎来到我的酒馆       在本章节介绍Makefile。 目录 一.欢迎来到我的酒馆二.GNU make 预览三.一个简单的Makefile四.make程序如何处理Makefile文件五.在Makefile中使用变量
2023-08-30

awk系列3--比较全面

在各大网站看到的 自己整理的awk学习实例 [root@localhost opt]# cat grade.txt  M.Tansley  05/99   48311   Green   8  40  44 J.Lulu     06/99
2023-01-31

Kafka系列3-python版本pro

直接上代码了:# -*- coding: utf-8 -*-''' 使用kafka-Python 1.3.3模块'''import sysimport timeimport jsonfrom kafka import KafkaPro
2023-01-31

DVWA系列之3 medium级别SQL

将“DVWA Security”设置为medium中等级别,首先点击右下角的“View Source”查看此时的网页源码,主要观察与low级别的区别。可以发现,这里对用户输入的id参数进行了过滤,主要方法是使用了mysql_real_esc
2023-01-31

python编程规范系列--建议01~0

本系列来自《编写高质量代码 改善python程序的91个建议》的读书笔记整理。本书主要内容    1)容易被忽视的重要概念和常识,如代码的布局和编写函数的原则等;    2)编写python程序管用的方法,如利用assert语句去发现问题,
2023-01-30

React18系列reconciler从0实现过程详解

这篇文章主要介绍了React18系列reconciler从0实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-01-16

[9-13]Shell系列3——分支结构

本文旨在复习shell实现分支结构的3种if语句和case多分支结构语句,以及补充if和case的执行效率知识储备Shell脚本中语言结构还是那3种:顺序结构、选择结构、循环结构分支结构与选择结构是同一概念,依据一定的条件选择执行路径,而不
2023-01-31

React18系列commit从0实现源码解析

这篇文章主要为大家介绍了React18系列commit从0实现源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-01-16

WCF系列-WCF基础(3) 宿主方式

WCF开发框架的宿主方式http://www.cnblogs.com/wuhuacong/archive/2013/02/22/2922195.html http://www.cnblogs.com/Gyoung/p/3651076.htm
2023-01-31

mysql系列之多实例3----基于my

上一篇博文mysql系列之多实例2----基于多配置文件介绍了,如何部署基于多配置文件的mysql多实例,本篇博文将介绍基于mysql自带的mysqld_multi工具来如何实现mysql多实例的部署和管理!环境:CentOS 6.5 x8
2023-01-31

python 学习系列(3) 读取并显示

python 读取并显示图片的两种方法在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片。本人偏爱 matpoltlib,因为它的语法更像 matlab。1. 显示图片import mat
2023-01-31

Wireshark系列之3 路由过程抓包

首先收集每台设备的MAC地址以备分析:服务器A:00-0c-29-bb-bb-7f服务器B:00-0C-29-8C-BF-6D默认网关:00-50-56-fe-c8-98在服务器B上启动Wireshark,然后执行ping命令与A通信,此时
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录