Skip to content

Instantly share code, notes, and snippets.

@icheernoom
Created August 25, 2015 05:05
Show Gist options
  • Save icheernoom/325a82161a8f40d9e90f to your computer and use it in GitHub Desktop.
Save icheernoom/325a82161a8f40d9e90f to your computer and use it in GitHub Desktop.

Revisions

  1. icheernoom revised this gist Aug 25, 2015. No changes.
  2. icheernoom created this gist Aug 25, 2015.
    76 changes: 76 additions & 0 deletions prog50.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,76 @@
    #!/usr/bin/python
    # Author: Kitwipat Towattana (@icheernoom)

    import socket, re, time

    def get_num(recv):
    m = re.match("(.+)\nGimme", recv)
    num = m.group(1).split(' ')
    num = map(int, num)
    return num

    def calc(recv):
    if "maximum" in recv:
    print "[+] Maximum"
    return max(get_num(recv))
    elif "minimum" in recv:
    print "[+] Minimum"
    return min(get_num(recv))
    elif "sum" in recv:
    print "[+] Sum"
    num = get_num(recv)
    num = "+".join(map(str, num))
    sum = eval(num)
    return sum
    elif "average" in recv:
    print "[+] Average"
    num = get_num(recv)
    count = len(num)
    num = "+".join(map(str, num))
    sum = eval(num)
    var = str(float(sum)/float(count))
    return var
    else:
    print recv
    exit()

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(('vuln2015.icec.tf', 9000))
    while True:
    time.sleep(4)
    recv = s.recv(81920000)
    data = calc(recv)
    print "[*] Sending:",data
    s.send(bytes(data)+"\r\n")
    s.close

    '''
    root@ubuntu:~# python prog50.py
    [+] Maximum
    [*] Sending: 6915
    [+] Minimum
    [*] Sending: 27
    [+] Maximum
    [*] Sending: 9802
    [+] Minimum
    [*] Sending: 1873
    [+] Minimum
    [*] Sending: 336
    [+] Sum
    [*] Sending: 291411
    ...[snip]...
    [+] Minimum
    [*] Sending: 6
    [+] Average
    [*] Sending: 4903.53196622
    [+] Average
    [*] Sending: 4962.05309735
    [+] Maximum
    [*] Sending: 9999
    [+] Average
    [*] Sending: 4914.8852459
    [+] Minimum
    [*] Sending: 4
    Welcome Daniel!
    The flag is: why_is_there_code_in_my_statistics
    '''