Пример #1
0
    def __init__(self,
                 ginp_q=None,
                 gout_q=None,
                 host='127.0.0.1',
                 port=8878,
                 logF="DefaultServerLog.txt",
                 inP=sys.stdin,
                 outP=sys.stdout,
                 pfile='Password.txt'):
        super(CClient, self).__init__()
        self.addr = (host, port)
        self.pfile = pfile
        self.currentLoginInfo = ("", "")
        self.loginInfos = {}
        self.loadFile(pfile)
        self.encryption = Encryption(self.currentLoginInfo[1])
        self.logFile = logF
        self.socket = socket(AF_INET, SOCK_STREAM)
        self.socketConnected = False
        self.stoped = False
        self.outStream = outP
        self.inStream = inP
        self.inputThread = threading.Thread(target=self.winput)
        self.inputThread.start()
        #self.listenningSocket=socket(AF_INET,SOCK_STREAM)
        #self.listenningSocket.bind((host,port))
        #self.listenningSocket.listen(10)

        self.ginp_q = ginp_q
        self.gout_q = gout_q
Пример #2
0
    def default_data_admin(self):  # Method for creating default data

        encryption = encryp.Encryption()
        secure_admin_pass = encryption.encrypt_data(
            'password')  # encrypt default password

        self.c.execute(
            "INSERT OR IGNORE INTO admininfo(adminid, adminname, password) VALUES (?, ?, ?)",
            ('admin', 'defaultname', secure_admin_pass))
        self.conn.commit()
Пример #3
0
    def enter_newadmin(self, adminid, name,
                       password):  # Method adds new admin to database

        encryption = encryp.Encryption()
        secure_pass = encryption.encrypt_data(password)
        if not secure_pass:  # if invalid password given to new admin
            tk.messagebox.showerror('Invalid password',
                                    "Please ensure correct data was entered")
        else:  # add data
            self.c.execute(
                "INSERT INTO admininfo (adminid, adminname, password)"
                " VALUES (?, ?, ?)", (adminid, name, secure_pass))
            tk.messagebox.showinfo('Added', 'New admin has been added')
            self.conn.commit()
Пример #4
0
    def enter_newuser(self, username, password,
                      adminid):  # Method to allow user to register

        encryption = encryp.Encryption()
        secure_pass = encryption.encrypt_data(
            password)  # encrypting user entered password
        if not secure_pass:  # if unable to encrypt (invalid data)
            tk.messagebox.showerror('Invalid password',
                                    "Please ensure correct data was entered")
        else:
            self.c.execute(
                "INSERT INTO userinfo (userid, password, adminid, numlogin)"
                " VALUES (?, ?, ?, ?)", (username, secure_pass, adminid, 0))
            tk.messagebox.showinfo('Added', 'New user has been added')
            self.conn.commit()
Пример #5
0
    def CreateNewClient(self, connectionSocket, addr):
        usename = connectionSocket.recv(2048).decode('utf-8')
        en = Encryption(usename)
        pwd = connectionSocket.recv(2048)
        pwd = en.DecryptString(pwd)
        en.LoadKey(pwd)
        if self.validation.LoginCheck(usename, pwd) != 1:
            connectionSocket.close()
            return

    # print(usename,pwd)
        connectionSocket.send('OK'.encode('utf-8'))
        newThread = threading.Thread(target=self.commandLine,
                                     args=(connectionSocket, addr))
        self.clients[addr] = [newThread, connectionSocket, None, None, en]
        newThread.start()
Пример #6
0
    def check_admin_login(self, username,
                          password):  # Method to validate admin login inputs
        self.c.execute("SELECT password FROM admininfo WHERE adminid = ?",
                       (username, ))
        check_admin_pass = self.c.fetchone()

        if check_admin_pass is None:  # no password (no valid adminid so password would be none)
            return False

        else:
            encryption = encryp.Encryption()
            check_admin_pass = encryption.decrypt_data(check_admin_pass)
            if password == check_admin_pass:  # if decrypted password matches entered password
                return True
            else:
                return False
Пример #7
0
	def get_toutiao(self, driver, url):
		self.driver = driver
		self.base_url = url
		self.ennum = Encryption.Encryption()
		driver.get(self.base_url + "/")
		driver.maximize_window()
		title = u"#今日头条#"

		event = ""
		event += title
		driver.find_element_by_xpath("//a[@ga_event='feed_refresh']").click()
		time.sleep(2)
		menulink = driver.find_elements_by_xpath("//ul[@data-node='listBox']/li[position()<7]//a[@ga_event='feed_title']")
		for i in menulink:
			event += i.text + "|"
		print event
		return event
Пример #8
0
	def get_huati(self, driver, url):
		self.driver = driver
		self.base_url = url
		self.ennum = Encryption.Encryption()
		driver.get(self.base_url + "/")
		driver.maximize_window()
		title = u"#今日话题#"

		event = ""
		event += title

		div_src = driver.find_element_by_id("today")
		toptitle = driver.find_element_by_id("todaytop")
		event += toptitle.text

		menulink = div_src.find_elements_by_xpath("//div[@id='today']//li/a[1]")
		for i in menulink:
			event += i.text+"  "
		print event
Пример #9
0
    def submitRecordTransaction(self, from_, to_, diseaseId, docLink, hash_):
        hashOfDoc = Util.get_hash(
            docLink)  #update this to get hash of original doc
        type_ = 0

        e = Encryption(docLink.encode())

        token, key = e.encrypt()

        #print(e.decrypt(token, key))

        tokenKeyMap[token.decode()] = key.decode()
        encryptLinkToLinkMap[key.decode()] = docLink

        info = {
            'diseaseId': diseaseId,
            'docLink': token.decode(),
            'permmissions': from_,
            'hash': hash_
        }
        return self.newTransaction(from_, to_, type_, info)
Пример #10
0
 def __init__(self,
              host='127.0.0.1',
              port=8878,
              logF="DefaultServerLog.txt",
              inP=sys.stdin,
              outP=sys.stdout,
              pfile='Password.txt'):
     self.addr = (host, port)
     self.pfile = pfile
     self.currentLoginInfo = ("", "")
     self.loginInfos = {}
     self.loadFile(pfile)
     self.encryption = Encryption(self.currentLoginInfo[1])
     self.logFile = logF
     self.socket = socket(AF_INET, SOCK_STREAM)
     self.socketConnected = False
     self.stoped = False
     self.outStream = outP
     self.inStream = inP
     self.inputThread = threading.Thread(target=self.winput)
     self.inputThread.start()
Пример #11
0
    def check_login(self, username, password):  # Method to validate login type
        check_admin = self.check_admin_login(
            username, password)  # check if valid admin loggin in
        if check_admin:  # if admin
            return 'admin'
        else:
            # is now either user or invalid
            encryption = encryp.Encryption()
            self.c.execute("SELECT password FROM userinfo WHERE userid = ?",
                           (username, ))
            stored_pass = self.c.fetchone()

            if stored_pass is None:  # no userid exists (no password)
                return 'False'
            else:
                stored_pass = encryption.decrypt_data(
                    stored_pass)  # decrypt password for userid
                if password == stored_pass:  # if valid password
                    self.update_logincounter(
                        username)  # update user log in counter
                    return "user"
                else:
                    return 'False'
Пример #12
0
    def __init__(self, username=None, password=None):
        try:
            self.encryption = Encryption.Encryption()
        except Encryption.EncryptionException as error:
            self.__notify_message('notification',
                                  'Encryption error ' + str(error))

        self.encryption = Encryption.Encryption()
        self.__notify_message(
            'notification', 'Encryption is ' +
            ('enabled' if self.encryption.isEnabled() else 'disabled'))

        self.portal_url = 'https://choozze.me'
        self.online_pages = {
            'login': '******',
            'account': '',
            'voicemail': 'voicemail.php',
            'callforward': 'forward.php'
        }

        self.login_cookie = None
        self.login_ok = False

        self.reset_settings(False)

        # Login regexes
        self.login_detect_regex = re.compile(
            '<input type=("|\')?hidden("|\')? name=("|\')?action("|\')? value=("|\')?login("|\')? />'
        )
        self.valid_email_regex = re.compile(
            "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$"
        )
        self.regex_logged_in = re.compile('Welkom Choozzer!')

        # Account regexes
        self.regex_phonenumber = re.compile(
            '<p>.*nummer:\s(?P<phonenumber>\+\d{11})\s*<\/p>')
        self.regex_mobile_plan = re.compile(
            '<p>.*gekozen voor\s*(?P<mobileplan>[^</]+)<\/p>')
        self.regex_extra_costs = re.compile(
            '<p>Buitenbundelkosten:\s(?P<currentcy>.*)(?P<extra_costs>\d+,\d+)\s*<\/p>'
        )
        self.regex_sms_usage = re.compile(
            '(?P<totalsms>\d+) SMSjes[^)]+ \((?P<usedsms>\d+)%')
        self.regex_call_usage = re.compile(
            '(?P<totalcall>\d+) belminuten[^)]+ \((?P<usedcall>\d+)%')
        self.regex_data_usage = re.compile(
            '(?P<totaldata>\d+)(?P<dataunit>[(M|G)B]+) mobiel internet[^)]+\((?P<useddata>\d+)%'
        )
        self.internetdata_unit = 1000

        # Voicemail regexes
        self.regex_voicemail_active = re.compile(
            'Jouw voicemail is\s?(?P<active>[^\s]+)? actief')
        self.regex_voicemail_pin = re.compile(
            'placeholder=("|\')?Pincode("|\')?.*value=("|\')?(?P<pincode>\d{4})("|\')?'
        )
        self.regex_voicemail_email = re.compile(
            'type=("|\')?email("|\')?.*value=("|\')?(?P<voicemailemail>[^("|\')?]+)("|\')?'
        )

        # Callforward regexes
        self.regex_callforward_direct = re.compile(
            'type=("|\')?text("|\')?.*((name|id)=("|\')?cfim("|\')?){1,2}.*value=("|\')?(?P<direct>[^("|\')?]+)("|\')?'
        )
        self.regex_callforward_busy = re.compile(
            'type=("|\')?text("|\')?.*((name|id)=("|\')?cfbs("|\')?){1,2}.*value=("|\')?(?P<busy>[^("|\')?]+)("|\')?'
        )

        self.__load_application_data()

        self.__history_fields = {
            'data_update_timeout', 'mobile_plan', 'extra_costs', 'sms_usage',
            'call_usage', 'data_usage', 'days_usage', 'voicemail_active',
            'callforward_active'
        }

        self.__load_application_history()

        if username is not None:
            self.set_username(username)

        if password is not None:
            self.set_password(password)

        if self.login():
            self.__get_online_data()

        self.updater = threading.Thread(target=self.__auto_update)
        self.updater.daemon = True
        self.updater.start()
Пример #13
0
#!C:/python/python.exe

import sys
sys.path.insert(0, r'D:\Lib')
import cgi
import time
import Encryption
from Cheetah.Template import Template
from com.finnean.database.connection import SQLiteConnection
from com.finnean.database.cursor import SQLiteDictionaryCursor
from com.finnean.database.query import SQLiteQuery
from objects import Login

# encryption key
pass_key = 'rcCE3qqHyD3LSNH73vKzPhW3aURH4nSH'
enc = Encryption.Encryption(passkey=pass_key)

# database
database = SQLiteConnection.SQLiteConnection()
connection = database.connect(r'D:\wamp\apps\sqlitemanager1.2.0\Butters.db')
cursor = SQLiteDictionaryCursor.SQLiteDictionaryCursor(connection).get()

query = SQLiteQuery.SQLiteQuery()
query.setCursor(cursor)
query.setExceptionHandler(database.getExceptionHandler())

# cgi
form = cgi.FieldStorage()
username = form.getvalue('username')
passwd = form.getvalue('passwd')
Пример #14
0
    def getEncryption(self, proxy):
        if self.client_keypair_generate == TRUE and self.server_keypair_generate == TRUE:
            raise ValueError, 'client_keypair_generate and server_keypair_generate are both enabled. '\
                    'Key generation cannot work on both sides at the same time.'

        if not self.isEncryptionUsed():
            return Encryption(client_security=SSL_NONE,
                              server_security=SSL_NONE)

        if not hasattr(self, "client_connection_security"):
            self.client_connection_security = SSL_NONE
        if not hasattr(self, "server_connection_security"):
            self.server_connection_security = SSL_NONE

        client_method = ENCRYPTION_METHOD_SSLV23
        server_method = ENCRYPTION_METHOD_SSLV23
        if hasattr(self, "client_ssl_method"):
            if self.client_ssl_method == SSL_METHOD_SSLV23:
                client_method = ENCRYPTION_METHOD_SSLV23
            elif self.client_ssl_method == SSL_METHOD_SSLV3:
                client_method = ENCRYPTION_METHOD_SSLV3
            elif self.client_ssl_method == SSL_METHOD_TLSV1:
                client_method = ENCRYPTION_METHOD_TLSV1
            elif self.client_ssl_method == SSL_METHOD_ALL:
                client_method = ENCRYPTION_METHOD_SSLV23
            else:
                client_method = 5  #Bad method

        if hasattr(self, "server_ssl_method"):
            if self.server_ssl_method == SSL_METHOD_SSLV23:
                server_method = ENCRYPTION_METHOD_SSLV23
            elif self.server_ssl_method == SSL_METHOD_SSLV3:
                server_method = ENCRYPTION_METHOD_SSLV3
            elif self.server_ssl_method == SSL_METHOD_TLSV1:
                server_method = ENCRYPTION_METHOD_TLSV1
            elif self.server_ssl_method == SSL_METHOD_ALL:
                server_method = ENCRYPTION_METHOD_SSLV23
            else:
                server_method = 5  #Bad method

        encryption = Encryption(
            client_security=self.client_connection_security,
            server_security=self.server_connection_security,
            client_method=client_method,
            server_method=server_method)

        encryption.settings.client_handshake[
            "verify_cert_ext"] = self.client_handshake["verify_cert_ext"]
        encryption.settings.server_handshake[
            "verify_cert_ext"] = self.server_handshake["verify_cert_ext"]
        if self.client_connection_security > SSL_NONE:
            if hasattr(self, "client_cert") and type(
                    self.client_cert) == types.StringType:
                self.client_cert_file = self.client_cert
            if hasattr(self, "client_key") and type(
                    self.client_key) == types.StringType:
                self.client_key_file = self.client_key

            if hasattr(self, "client_keypair_files"):
                self.client_cert_file = self.client_keypair_files[0]
                self.client_key_file = self.client_keypair_files[1]

            if hasattr(self, "client_cagroup_directories"):
                self.client_ca_directory = self.client_cagroup_directories[0]
                self.client_crl_directory = self.client_cagroup_directories[1]

            if hasattr(self, "client_verify_cagroup_directories"):
                self.client_verify_ca_directory = self.client_verify_cagroup_directories[
                    0]
                self.client_verify_crl_directory = self.client_verify_cagroup_directories[
                    1]

            if hasattr(self, "client_cert_file"):
                log(
                    proxy.session.session_id, SSL_DEBUG, 6,
                    "Compatibility feature, processing client_cert_file; value='%s'"
                    % self.client_cert_file)
                proxy.tls.client_local_certificate = self.readPEM(
                    self.client_cert_file)

            if hasattr(self, "client_key_file"):
                log(
                    proxy.session.session_id, SSL_DEBUG, 6,
                    "Compatibility feature, processing client_key_file; value='%s'"
                    % self.client_key_file)
                proxy.tls.client_local_privatekey = self.readPEM(
                    self.client_key_file)

            if hasattr(self, "client_ca_directory"):
                log(
                    proxy.session.session_id, SSL_DEBUG, 6,
                    "Compatibility feature, processing client_ca_directory; value='%s'"
                    % self.client_ca_directory)
                #self.readHashDir(self.client_local_ca_list, self.client_ca_directory)
                self.readHashDir(encryption.settings.client_local_ca_list,
                                 self.client_ca_directory)

            if hasattr(self, "client_crl_directory"):
                log(
                    proxy.session.session_id, SSL_DEBUG, 6,
                    "Compatibility feature, processing client_crl_directory; value='%s'"
                    % self.client_crl_directory)
                #self.readHashDir(self.client_local_crl_list, self.client_crl_directory)
                self.readHashDir(encryption.settings.client_local_crl_list,
                                 self.client_crl_directory)

            if self.client_keypair_generate:
                if self.handshake_seq != SSL_HSO_SERVER_CLIENT:
                    raise ValueError, "For client-side keypair generation, the handshake order"\
                            " must be SSL_HSO_SERVER_CLIENT."
                else:
                    encryption.settings.client_handshake["setup_key"] = (
                        SSL_HS_POLICY, self.generateKeyClient)

        if self.server_connection_security > SSL_NONE:
            if hasattr(self, "server_cert") and type(
                    self.server_cert) == types.StringType:
                self.server_cert_file = self.server_cert
            if hasattr(self, "server_key") and type(
                    self.server_key) == types.StringType:
                self.server_key_file = self.server_key

            if hasattr(self, "server_keypair_files"):
                self.server_cert_file = self.server_keypair_files[0]
                self.server_key_file = self.server_keypair_files[1]

            if hasattr(self, "server_cagroup_directories"):
                self.server_ca_directory = self.server_cagroup_directories[0]
                self.server_crl_directory = self.server_cagroup_directories[1]

            if hasattr(self, "server_verify_cagroup_directories"):
                self.server_verify_ca_directory = self.server_verify_cagroup_directories[
                    0]
                self.server_verify_crl_directory = self.server_verify_cagroup_directories[
                    1]

            if hasattr(self, "server_cert_file"):
                log(
                    proxy.session.session_id, SSL_DEBUG, 6,
                    "Compatibility feature, processing server_cert_file; value='%s'"
                    % self.server_cert_file)
                proxy.tls.server_local_certificate = self.readPEM(
                    self.server_cert_file)

            if hasattr(self, "server_key_file"):
                log(
                    proxy.session.session_id, SSL_DEBUG, 6,
                    "Compatibility feature, processing server_key_file; value='%s'"
                    % self.server_key_file)
                proxy.tls.server_local_privatekey = self.readPEM(
                    self.server_key_file)

            if hasattr(self, "server_ca_directory"):
                log(
                    proxy.session.session_id, SSL_DEBUG, 6,
                    "Compatibility feature, processing server_ca_directory; value='%s'"
                    % self.server_ca_directory)
                #self.readHashDir(self.server_local_ca_list, self.server_ca_directory)
                self.readHashDir(encryption.settings.server_local_ca_list,
                                 self.server_ca_directory)

            if hasattr(self, "server_crl_directory"):
                log(
                    proxy.session.session_id, SSL_DEBUG, 6,
                    "Compatibility feature, processing server_crl_directory; value='%s'"
                    % self.server_crl_directory)
                #self.readHashDir(self.server_local_crl_list, self.server_crl_directory)
                self.readHashDir(encryption.settings.server_local_crl_list,
                                 self.server_crl_directory)

            if self.server_keypair_generate:
                if self.handshake_seq != SSL_HSO_CLIENT_SERVER:
                    raise ValueError, "For server-side keypair generation, the handshake order"\
                            " must be SSL_HSO_CLIENT_SERVER."
                else:
                    encryption.settings.server_handshake["setup_key"] = (
                        SSL_HS_POLICY, self.generateKeyServer)

        if hasattr(self, "handshake_seq"):
            encryption.settings.handshake_seq = self.handshake_seq
        if hasattr(self, "handshake_timeout"):
            encryption.settings.handshake_timeout = self.handshake_timeout
        if hasattr(self, "permit_invalid_certificates"):
            encryption.settings.client_permit_invalid_certificates = self.permit_invalid_certificates
            encryption.settings.server_permit_invalid_certificates = self.permit_invalid_certificates
        if hasattr(self, "permit_missing_crl"):
            encryption.settings.client_permit_missing_crl = self.permit_missing_crl
            encryption.settings.server_permit_missing_crl = self.permit_missing_crl

        if hasattr(self, "client_verify_type"):
            encryption.settings.client_verify_type = self.client_verify_type
        if hasattr(self, "client_disable_proto_sslv3"):
            encryption.settings.client_disable_proto_sslv3 = self.client_disable_proto_sslv3
        if hasattr(self, "client_disable_proto_tlsv1"):
            encryption.settings.client_disable_proto_tlsv1 = self.client_disable_proto_tlsv1
        if hasattr(self, "client_ssl_cipher"):
            encryption.settings.client_ssl_cipher = self.client_ssl_cipher
        if hasattr(self, "client_verify_ca_directory"):
            encryption.settings.client_verify_ca_directory = self.client_verify_ca_directory
        if hasattr(self, "client_verify_crl_directory"):
            encryption.settings.client_verify_crl_directory = self.client_verify_crl_directory
        if hasattr(self, "client_verify_depth"):
            encryption.settings.client_verify_depth = self.client_verify_depth

        if hasattr(self, "server_verify_type"):
            encryption.settings.server_verify_type = self.server_verify_type
        if hasattr(self, "server_check_subject"):
            encryption.settings.server_check_subject = self.server_check_subject
        if hasattr(self, "server_disable_proto_sslv3"):
            encryption.settings.server_disable_proto_sslv3 = self.server_disable_proto_sslv3
        if hasattr(self, "server_disable_proto_tlsv1"):
            encryption.settings.server_disable_proto_tlsv1 = self.server_disable_proto_tlsv1
        if hasattr(self, "server_ssl_cipher"):
            encryption.settings.server_ssl_cipher = self.server_ssl_cipher
        if hasattr(self, "server_verify_ca_directory"):
            encryption.settings.server_verify_ca_directory = self.server_verify_ca_directory
        if hasattr(self, "server_verify_crl_directory"):
            encryption.settings.server_verify_crl_directory = self.server_verify_crl_directory
        if hasattr(self, "server_verify_depth"):
            encryption.settings.server_verify_depth = self.server_verify_depth

        if not encryption.setup():
            raise Exception, "Encryption.setup() returned error;"

        return encryption
Пример #15
0
 def setUp(self):
     print "staring"
     self.driver = webdriver.PhantomJS()
     self.driver.implicitly_wait(30)
     self.ennum = Encryption.Encryption()
     self.news = Getnews.News()