From c67ea93d986ad7e34cb190f9fd05dc681b21bd1d Mon Sep 17 00:00:00 2001 From: Wilfried OLLIVIER Date: Mon, 17 Nov 2014 00:45:49 +0100 Subject: [PATCH] =?UTF-8?q?add=20solution=20for=20nbcontest,=20programatio?= =?UTF-8?q?n,=20n=C2=B01?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- newbiecontest/prog/renvoi/renvoi.py | 63 +++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100755 newbiecontest/prog/renvoi/renvoi.py diff --git a/newbiecontest/prog/renvoi/renvoi.py b/newbiecontest/prog/renvoi/renvoi.py new file mode 100755 index 0000000..c9a70df --- /dev/null +++ b/newbiecontest/prog/renvoi/renvoi.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python + +# imports ###################################################################### +import sqlite3 +import sys +import urllib.request +import re + +# functions #################################################################### +def extract_cookies_to_jar(cookie_db): + try: + + # Connection + conn = sqlite3.connect(cookie_db) + + # Execute SELECT query + cur = conn.cursor() + r = cur.execute("SELECT name, value FROM moz_cookies WHERE host LIKE '%newbiecontest.org%' AND name LIKE '%SMFCookie%'") + + cookie = r.fetchone() + + return cookie + + except sqlite3.Error as e: + print("An error occurred:", e.args[0]) + +def send_resquest(url, cookie): + opener = urllib.request.build_opener() + opener.addheaders.append(('Cookie', cookie[0] + "=" + cookie[1])) + + f = opener.open(url) + + number = re.findall(r'\d+', f.read().decode('utf-8')) + + return number + +def send_number(url, number): + opener = urllib.request.build_opener() + opener.addheaders.append(('Cookie', cookie[0] + "=" + cookie[1])) + + f = opener.open(url + "?solution=" + number[0]) + + print(f.read().decode('utf-8')) + +# main ######################################################################### +if __name__ == '__main__': + + # if arguments are missing + if len(sys.argv) != 4: + print("[i] Usage : cookie.db url") + print("Get. The. Fuck. Out") + + # extract related cookies from db + cookie = extract_cookies_to_jar(sys.argv[1]) + + # send request, get the number + number = send_resquest(sys.argv[2], cookie) + + # send the number back + send_number(sys.argv[3], number) + + print("Done.") +