-
Notifications
You must be signed in to change notification settings - Fork 1
/
brute-fuel.py
85 lines (75 loc) · 9.35 KB
/
brute-fuel.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import string
import urllib2
import httplib, mimetypes
#import urlparts
Host="nfa.imn.htwk-leipzig.de"
Sel="/icfpcont/#hotspot"
def post_multipart(host, selector, fields, files):
"""
Post fields and files to an http host as multipart/form-data.
fields is a sequence of (name, value) elements for regular form fields.
files is a sequence of (name, filename, value) elements for data to be uploaded as files
Return the server's response page.
"""
content_type, body = encode_multipart_formdata(fields, files)
h = httplib.HTTP(host)
h.putrequest('POST', selector)
h.putheader('content-type', content_type)
h.putheader('content-length', str(len(body)))
h.endheaders()
h.send(body)
errcode, errmsg, headers = h.getreply()
return h.file.read()
def encode_multipart_formdata(fields, files):
"""
fields is a sequence of (name, value) elements for regular form fields.
files is a sequence of (name, filename, value) elements for data to be uploaded as files
Return (content_type, body) ready for httplib.HTTP instance
"""
BOUNDARY = '----------ThIs_Is_tHe_bouNdaRY_$'
CRLF = '\r\n'
L = []
for (key, value) in fields:
L.append('--' + BOUNDARY)
L.append('Content-Disposition: form-data; name="%s"' % key)
L.append('')
L.append(value)
for (key, filename, value) in files:
L.append('--' + BOUNDARY)
L.append('Content-Disposition: form-data; name="%s"; filename="%s"' % (key, filename))
L.append('Content-Type: %s' % get_content_type(filename))
L.append('')
L.append(value)
L.append('--' + BOUNDARY + '--')
L.append('')
body = CRLF.join(L)
content_type = 'multipart/form-data; boundary=%s' % BOUNDARY
return content_type, body
def get_content_type(filename):
return mimetypes.guess_type(filename)[0] or 'application/octet-stream'
def getpage (g1):
res = post_multipart(Host, Sel, (("G0", "2222100122222112011000001000010101010001010101010101010101001001001010010101000101001010100000100010000100010010101010001010100100100010101010101010000001010101010101010101010100022221120111010000000101010101001001010101001000100101010010101010010001010100100000010000101000100100100000000010100010101010010101010000100100101000101010100010222211201100001000100100101001000100101000010100101001001010101010010001010000010101000010101010010000001010100101000010010101010001001010000000010000100000222211201100010010001010000010010000010000010010101001000010001001010010010100010101010100101000000001000100101000000101010000100100010000101000001010222211201100001010100000001010000101010101000100010010001000000100000001001010010101010001010010010010101010100000000101010100001010100101010101001010100101000222211201101010010100001000000100010000010010100010101001001010010010001001000100010000001000100001010100000001010000010001000100010010101001010001010222211201100010010100100010010001000100000100100100101010010010101010000010001000101001000001001010100000100000000010100100101010101010000101000100100101002222112011100001000101001010100100000000001010100010010100101010001010100010100001010100000001010000101010000000100010100100010000100100010001010100001022221120110010100000010000010101010101010101001010100101010101001000001001001001010101010100010010010010100101001001010100100100101001010000010001010001010000101010002222112011100010100001010000000001001000010101010000101000001000100100100010101010001010100010000101010100101010010101010010010101010101000010000100101001000102222112011001010100101010010001010000010101010101001010010010100000001000101000101000000100010101001010101000100101010001001010010100100100010100101000000010000222211201100101001000101000001001010101010010100100000000100001010010000100001000010001010010101010010000001001000010100010010000100001001010000100002222112011010001010000101010101000001000010101010000000010000101010010101010000010100010101010101010101000000101010100100100100010001001010010000101010010010010022221120110000100000000000101010101000101010000100000010100100000100010101001010010100010101010101001010101001001010001010001000101001001010010101001001010001022221120110100101010101001000101010100100100100101001001001010001001010101010100010000010010100010010101000001010100100101010001010010000100101000100100000100010100222211201100010100010001010101000100100010101010001010010101010100001000100000001010000001000000101001000010010100001010000000101010100101000101010101010010222211201101010100101001010100000001000101010101001000010101010010100001010010000010100000100010101010000010100100010000101001000101000101010101010000100101000022221120110100100100010001000000010010101010100010101010001010101010000101001010100101010100000001000000001000000000010010010101010001010010101010101010010002222112011100100000101000001010010100100100101010100010101000010100101000001001010001001010100100010000010010001000000010000101010100001000101001010001001002222112011001010000000000100010100101000001010101001010101010010001010001000010101000010100010001001000100001001000010001010001000100010001000000010102222112011100100100101000010010001001010000010101001010000100101010001010001010000000101010100101001000001010101001010001010001001001001010010100100101010001001002222112011001010101000010001001000010000100101010000100001010100010101001001000000000100000101001000001001000010010000101010001010101001010100000010002222112011100101000101010000000001010101010000101001010010101010101010001010100010101010101001001000100100100100010101000101010010010000100001010010001010100100101000222211201110010101000010010000010100100101010000000100010010101010100101001000000000000010001010100010100000101010000100101010010010010010000001001001002222112011100101001000010100100010100010101001010010100101001001001010010100100100101010000010010010101010100001010100100001010010010010010000010010101001010010100100222211201101010010101000010101001001000010000010100101010001000100101010010010001000000101000100001000100100100010010010001001010101010010010010100101010101000222211201110010101001001010001000101000100101010010101000100000101000100100010101001001010010010101001010010100000100101010100100010101010010100101001001001001000000222211201110100100100001010001000000100101010100010100010001000010010010010100000000101010101010100010001010101001010101001010100101010101000001010010010101001010022221120111010000100010010010101010101000010100001001010101000000101010100010101010010100001010100001010001010000000010010100100010101010100100101000100101000100022221120110000000010101000100100010010000101010010100010010001010001000101000100010010010100010000100101010101010000000101010001000101000101000101010100002222112011101000101000100101001000100010101000000101010010101001010010100001001000100101001000001000100010010101010010010010010100000101010101010100101010100100010022221120111010101010010010000101000100101010010101001001010001010100100100101000001000010010100001010010100100000010101001000001001010100100100010010001001000102222112011101001000100010001010001001010101001010100010000000000000000101001010101000100100101010101001010100100101001001010000010010000000010010101001001010022221120110100000000000001001010000100101000001001010010101010100000010100000001010000000101010100101000100000101000010100101010000010010100100101010102222112011101001001000010101000101010101010101010010101001000010001001010010010010010001000101010101001000101000100101010101000001010010100010100101010100101010100000002222112011100010001010000100101001001001000001010001010101010000100001000100101010101000010100010001001001001000010101000100101001010000101000000001000010222211201110100101000101001010101010010010101001010000101010101000001010101010101000000001010000010000000100010101010101010101010000101010101001000101000010010010100022221120111010101010001010001010100100001010101001001010010010101010100001000100010101010000000010101000001000100101010001010010100100000000101001000100101010002222112011101010100010000101010101010010100100000100100101001010100010100101010101010001001001010100100101010101010101001001000001010000000010101001010010010101010010101002222112011100001010000010101010100010101000010100010100101010100100101001000000010000010010001000010101010100101010101000100000101010000100001000101010010000"), ("G1", g1)), ())
pres = string.split(res, "<pre")
return pres
import os
key = "11021210112101221"
nums = ("0", "1", "220", "2210", "2211", "2212")
for x0 in nums:
for x1 in nums:
for x2 in nums:
for x3 in nums:
for x4 in nums:
for x5 in nums:
for x6 in nums:
for x7 in nums:
for x8 in nums:
for x9 in nums:
mystr = x9 + x8 + x7 + x6 + x5 + x4 + x3 + x2 + x1 + x0
myg1 = os.popen("echo " + key + mystr + " | make circuit")
realg1 = myg1.read()
pres = getpage(realg1)
if len(pres) == 3:
print mystr, " ".join(string.split(pres[1], "</pre")[0].lstrip().splitlines()), " ".join(string.split(pres[2], "</pre")[0].lstrip().splitlines())
else:
print mystr
print pres