def blacklistsUpdate(): db = Database() blacklists = db.getAllBlacklist() template = get_template('blacklists.html') return template.render({ "blacklists": blacklists, "total": len(blacklists) })
def get_campaign(self, campaign_prepid): """ Return a single campaign if it exists in database """ campaigns_db = Database('campaigns') campaign_json = campaigns_db.get(campaign_prepid) if campaign_json: return Campaign(json_input=campaign_json) else: return None
def index(): db = Database() totalRequests = len(db.getAllLogs()) totalBlacklists = len(db.getAllBlacklist()) template = get_template('index.html') return template.render({ "total_requests": totalRequests, 'total_blacklists': totalBlacklists })
def __new__(self,date,request,host,url,client_ip,useragent): db = Database() status = 'Safe' result = db.checkBlacklist(host,url) if result: status = 'Unsafe' else: pass #t1 = Thread(target=self.checkAgain, name="checkAgain", args=(self,url,host,)) #t1.start() db.insertLog(date=date,url=url,host=host,client_ip=client_ip,useragent=useragent,status=status) return status
def delete_campaign(self, campaign_json): """ Delete a campaign """ campaign = Campaign(json_input=campaign_json) prepid = campaign.get_prepid() campaigns_db = Database('campaigns') if not campaigns_db.get(prepid): raise Exception('Campaign with prepid does not "%s" exist' % (prepid)) campaigns_db.delete_object(campaign) return True
def create_campaign(self, campaign_json): """ Create a new campaign """ campaign = Campaign(json_input=campaign_json) prepid = campaign.get_prepid() campaigns_db = Database('campaigns') if campaigns_db.get(prepid): raise Exception('Campaign with prepid "%s" already exists' % (prepid)) if self.__check_campaign(campaign): campaigns_db.save(campaign) return campaign else: self.logger.error('Error while checking campaign %s', prepid) return None
def update_campaign(self, campaign_json): """ Update a campaign with given json """ new_campaign = Campaign(json_input=campaign_json) prepid = new_campaign.get_prepid() campaigns_db = Database('campaigns') old_campaign = campaigns_db.get(prepid) if not old_campaign: raise Exception('Campaign with prepid does not "%s" exist' % (prepid)) old_campaign = Campaign(json_input=old_campaign) # Move over history, so it could not be overwritten new_campaign.set('history', old_campaign.get('history')) changed_values = self.get_changed_values(old_campaign, new_campaign) new_campaign.add_history('update', changed_values, None) if self.__check_campaign(new_campaign): campaigns_db.save(new_campaign) return new_campaign else: self.logger.error('Error while checking campaign %s', prepid) return None
class Blacklists(object): def update(self, ): self.db = Database() self.phishiTank() self.openPish() def phishiTank(self, ): r = requests.get('http://data.phishtank.com/data/online-valid.csv') csvcontent = r.text.split('\n') urls = list() for i in range(1, len(csvcontent) - 1): url = csvcontent[i].split(',')[1] urls.append({'url': url, 'host': urlparse(url).netloc}) self.db.bulkInsertBlacklist(urls) def openPish(self, ): r = requests.get('https://openphish.com/feed.txt') feed = r.text.split('\n') urls = list() for url in feed: if url: url = url.strip() urls.append({'url': url, 'host': urlparse(url).netloc}) self.db.bulkInsertBlacklist(urls)
def checkAgain(self,url,host): results = list() results.append(self.globaSiteSafety(self,url)) if True in results: db = Database() db.insertBlacklist(url,host)
def update(self, ): self.db = Database() self.phishiTank() self.openPish()
def logs(): db = Database() allLogs = db.getAllLogs() template = get_template('logs.html') return template.render({"logs": allLogs})
def blacklistsDelete(bid): db = Database() db.deleteBlacklist(bid) return hug.redirect.to('/blacklists')