BUUCTF PWN wp--ciscn_2019_n_1

news2024/11/14 20:05:04

第一步 checksec,并检查该题的保护机制

该题的保护机制如下:

  1. Arch (架构): amd64-64-little
    • 这意味着这个二进制文件是为64位AMD64架构编译的,使用小端序(little-endian)。
  2. RELRO (重定位-read-only): Partial RELRO
    • Partial RELRO意味着这个二进制文件只部分地采用了RELRO保护。在程序启动时,一些符号重定位信息仍然可以被修改,但全局偏移表(GOT)是部分写保护的。这比完全没有RELRO保护要安全一些,但仍然不如完全RELRO保护。
  3. Stack (栈): No canary found
    • 栈保护机制通常包括栈保护符(canary),这是一个随机生成的值,用于检测栈溢出。这里显示“没有找到canary”,意味着这个二进制文件没有使用栈保护,这使得它更容易受到栈溢出攻击。
  4. NX (No-eXecute): NX enabled
    • NX位被启用,这意味着栈上的数据不能被执行。这是一种防止缓冲区溢出攻击的有效方法,因为它阻止了攻击者将恶意代码注入到栈上并执行它。
  5. PIE (Position-Independent Executable): No PIE (0x400000)
    • PIE是一种安全特性,可以使程序的内存地址空间在每次运行时都不同,从而增加攻击者利用内存漏洞的难度。这里显示“没有PIE”,并且给出了一个固定的加载地址(0x400000),这意味着这个二进制文件没有使用PIE,这会使得它更容易受到某些类型的攻击,比如返回导向编程(ROP)攻击。

第二步   进入主函数,发现func,main函数调用了func,func中存在经典gets()漏洞,我们看到本题是v2数组在做比较

跟进v2

得到gets缓冲区的范围大小。用垃圾数据填充v1(如上图箭头为0x30+0x8),溢出v2,覆盖到下方的system函数,转换到cat/flag的地址0x4006BE

第三步   编写脚本

第四步   运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2074487.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工具技巧:如何使用AutoDL算力云

AutoDL算力云可以快速构建编程环境,价格也很实惠 模型运行已知需要显存少,可以考虑选择4090,有24G,具体选择哪种类型,可以看看重点看看这两方面**:数据盘能否扩容,CUDA版本是否够高** 根据自身…

虚拟化技术VirtualBox

虚拟化技术是当今云计算领域中的重要技术之一,而VirtualBox作为一款开源的虚拟化软件,在Linux系统中发挥着重要作用。本文将从VirtualBox的基本概念入手,介绍其在Linux系统中的应用和高级云计算技术,包括其原理、特点、优势、使用…

http基础原理及应用

三次握手 第一次 发送SYN报文 ,传达信息,我想建立连接 第二次 回传SYNACK报文,传达信息 :好的可以建立链接 第三次 回传ACK报文 传到信息:好的,我知道了,哪我能连接,然后就建立连…

深入探讨Linux中的EncFS:安全、灵活的加密文件系统

在当今数字化时代,数据安全是任何组织和个人都不容忽视的重要问题。随着信息技术的发展,对数据的保护要求也日益提高。Linux操作系统作为开源社区的杰出产物,在提供各种安全工具和解决方案方面也颇具优势。其中,EncFS(…

[指南]微软发布Windows-Linux双系统无法启动的完整修复方案

早前微软发布的 2024-08 例行安全更新导致 Windows-Linux 双系统无法启动引起关注,该问题实际上在 7 月份微软已经发现并且添加到已知问题列表中,但可能很多用户没注意结果安装更新后 Linux 系统无法正常启动。 问题根源在原本微软发布的补丁不应该针对…

使用vagrant、virtualbox、快速创建kali linux

使用vagrant、virtualbox、快速创建kali linux 初始化kali下载vagrant相应镜像vagrant添加相应镜像创建vagrantfile在vagrantfile根目录执行cmd虚拟机登录密码修改sshd配置 用shell远程链接(可选)可视化界面设置成中文创建成功展示图 添加实体网卡使用kali 破解WiFi密码解决 on…

网络安全教程初级指南

网络安全是当今最抢手的技能之一。如今,信息库如此庞大,节点网络也越来越庞大,网络安全的重要性也越来越高。 本网络安全教程适合初学者和专业人士。 在本教程中,您将学习有关网络安全的所有基本技能、工具和策略。 本网络安全…

【初阶数据结构】顺序表和链表算法题(上)

顺序表和链表算法题 1.顺序表1.1移除元素1.2删除有序数组中的重复项1.3合并两个有序数组 2.链表2.1移除链表元素2.2反转链表2.3链表的中间结点 1.顺序表 1.1移除元素 注意:返回的是元素个数,while循环不要少了等号 //https://leetcode.cn/problems/rem…

如何快速轻松地从 iPhone 恢复已删除的照片

回忆和照片很珍贵,我们不能丢失它们,尤其是误丢它们。我们都可能不小心删除了智能手机上的图像。您是否也碰巧误删除了 iPhone 上的图像?或者也许是出于愤怒,后来才后悔? 不用担心,因为您可以快速轻松地恢…

iOS RunLoop

一:什么是Runloop Runloop,正如其名,loop表示某种循环,和run放在一起就表示一直在运行着的循环 二:Runloop的创建? iOS并没有提供Runloop的创建方法,因为创建了现场自然会有一个Runloop. 所以只有获取Runloop的方法: NSRunLoop * runloo…

【能量项链】

题目 错误代码&#xff08;10过7&#xff09; #include <bits/stdc.h> using namespace std; const int N 110; int a[N]; int n; int f[N][N]; int cal(int i, int k, int j) {if(i < k && k < j){return a[i] * a[(k1)%n] * a[(j1)%n];}else if(k <…

显示“ ‘cmd‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。”的解决方法

问题呈现 当我们在执行cmd命令时&#xff0c;若出现不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件的提示。 解决方法 在导航搜索框输入编辑系统环境变量&#xff08;或者右键此电脑&#xff0c;左键属性&#xff0c;左键高级系统设置&#xff0c;左键环境…

常见——算法

一.排序算法 1.冒泡排序 public class Test {public static void main(String[] args) {int []arr{12,34,1,56,44,4,5,55};for (int i 0; i < arr.length-1; i) {for (int j 0; j < arr.length-i-1; j) {int temparr[j1];if(arr[j]>arr[j1]){arr[j1]arr[j];arr[j]t…

langchain入门系列之三 数据连接器的使用

数据连接处理流程 数据加载器结构 数据加载器示例 - CSV LangChain 实现了一个 CSV 加载器&#xff0c;可以将 CSV 文件加载为一系列 Document 对象。CSV 文件的每一行都会被翻译为一个文档。 这里需要自己准备一个csv文件 from langchain_community.document_loaders.csv_l…

【Java】—— Java面向对象基础:在Java中创建和管理员工及其生日信息

目录 定义MyDate类 定义Employee类 创建测试类并测试员工对象 运行结果 总结 在Java中&#xff0c;面向对象编程&#xff08;OOP&#xff09;的核心在于定义类&#xff08;Class&#xff09;和对象&#xff08;Object&#xff09;。本篇文章将通过一个简单的示例来展示如何…

Scrapy 项目部署Scrapyd

什么是Scrapyd Scrapyd 是一个用来管理和运行 Scrapy 爬虫的服务。它允许用户将 Scrapy 项目部署到服务器上&#xff0c;然后通过一个简单的 API 来启动、停止和监控爬虫的运行。Scrapyd 可以帮助简化爬虫的部署过程&#xff0c;使得用户不必手动在服务器上运行爬虫&#xff0c…

单片机原理及技术(八)—— 串行口的工作原理及应用

目录 一、串行通信基础 1.1 并行通信与串行通信 1.1.1 并行通信 1.1.2 串行通信 1.2 同步通信与异步通信 1.3 串行通信的传输模式 二、串行口的结构 2.1 串行口控制寄存器SCON 2.1.1 SM0、SM1 2.1.2 SM2 2.1.3 REN 2.1.4 TB8 2.1.5 RB8 2.1.6 TI 2.1.7 RI 2.2 …

云服务器在媒体处理中的应用有哪些

云服务器在媒体处理中扮演着至关重要的角色&#xff0c;无论是视频流服务、音频转码处理&#xff0c;还是图片优化服务&#xff0c;云服务器都提供了高效、灵活且可扩展的解决方案。以下将详细探讨云服务器在媒体处理中的应用。 首先&#xff0c;云服务器在视频流服务方面发挥着…

python怎么判断大小写

Python提供了isupper()&#xff0c;islower()&#xff0c;istitle()方法用来判断字符串的大小写&#xff0c;具体实例如下&#xff1a; >>> str_1 "HELLO PYTHON" # 全大写 >>> str_2 "Hello PYTHON" # 大小写混合 >>> str_3…

Spring Boot 有哪些优点?

Spring Boot 有哪些优点&#xff1f; &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; Spring Boot以其简洁和高效的特点&#xff0c;革新了Java应用的开发和部署方式。以下是其几大核心优势&#xff0c;让你一目了然&#xff1a; 减少时间成…