Exemple #1
0
    def start_server(self):
        if len(str(self.txt_redirect.text())) == 0:
            return QMessageBox.warning(self, 'localhost',
                                       'Ip Address not found.')
        if self.check_server.isChecked():
            if len(popen('which php').read().split('\n')[0]) == 0:
                return QMessageBox.warning(
                    self, 'Requirement Software',
                    'php-5 is not installed \n\ntry: install sudo apt-get install php5'
                )
        if self.check_clone.isChecked():
            if len(self.cloneLineEdit.text()) == 0:
                return QMessageBox.warning(self, 'Clone', 'input clone empty')
            site = str(self.cloneLineEdit.text())
            if not str(self.cloneLineEdit.text()).startswith('http://'):
                site = 'http://' + str(self.cloneLineEdit.text())
            if self.checkRequests(site):
                self.ServerHTTPLoad = ServerThreadHTTP(
                    str(self.txt_redirect.text()),
                    self.BoxPort.value(),
                    redirect=str(self.cloneLineEdit.text()),
                    directory='templates/phishing/web_server/index.html',
                    session=self.session)
                self.ThreadTemplates['Server'].append(self.ServerHTTPLoad)
                self.ServerHTTPLoad.requestHTTP.connect(self.ResponseSignal)
                self.btn_start_template.setEnabled(False)
                self.btn_stop_template.setEnabled(True)
                self.ServerHTTPLoad.setObjectName('THread::: HTTP Clone')
                self.ServerHTTPLoad.start()
                self.ServerHTTPLoad.sleep(5)
                a = urlopen('http://{}:{}'.format(
                    str(self.txt_redirect.text()), self.BoxPort.value()))
                if a.getcode() == 200:
                    self.StatusServer(True)
                    self.emit(SIGNAL('Activated( QString )'), 'started')

        elif self.check_server.isChecked():
            self.DirectoryPhishing(Path=str(self.EditDirectory.text()))
            self.emit(SIGNAL('Activated( QString )'), 'started')

        elif self.check_custom.isChecked():
            self.html = BeautifulSoup(self.txt_html.toPlainText())
            self.CheckHookInjection(self.html,
                                    'templates/phishing/custom/index.html')
            self.ServerHTTPLoad = ServerThreadHTTP(
                str(self.txt_redirect.text()),
                self.BoxPort.value(),
                redirect=str(self.cloneLineEdit.text()),
                directory='templates/phishing/custom/index.html',
                session=self.session)
            self.ThreadTemplates['Server'].append(self.ServerHTTPLoad)
            self.ServerHTTPLoad.requestHTTP.connect(self.ResponseSignal)
            self.btn_start_template.setEnabled(False)
            self.btn_stop_template.setEnabled(True)
            self.ServerHTTPLoad.setObjectName('THread::: HTTP Clone')
            self.ServerHTTPLoad.start()
            self.StatusServer(True)
            self.emit(SIGNAL('Activated( QString )'), 'started')