def fill_db(files, conf_path): wrapper = SQLWrapper(conf_path, log) wrapper.connect() sig = '' count = 0 if re.match("[a-z0-9]+$", wrapper.dbname) == False: log.critial("Invalid dbname : " + wrapper.dbname) sys.exit(-1) wrapper.drop_database() wrapper.create_db() wrapper.select_db(wrapper.dbname) #wrapper.exec() log.critical("Filling db with %s (TABLES WILL BE DROPPED !)" % ' '.join(files)) parser = signature_parser(wrapper, log, None) parser.wrapper.StartInsert() for filename in files: with open(filename, 'r') as fd: for line in fd: fullstr = '' if 'NAXSI_FMT' in line: l = line.split(", ") date = ' '.join(l[0].split()[:2]) sig = l[0].split('NAXSI_FMT:')[1][1:] l = l[1:] request_args = {} for i in l: s = i.split(':') request_args[s[0]] = urllib.unquote(''.join(s[1:])) fullstr = request_args.get( 'request', 'None')[2:-1] + ' Referer : ' + request_args.get( 'referrer', ' "None"')[2:-1].strip( '"\n') + ',Cookie : ' + request_args.get( 'cookie', ' "None"')[2:-1] if sig != '' and fullstr != '': parser.sig_to_db(fullstr, sig, date=date, learning=learning_mode) count += 1 print(str(count) + " exceptions stored into database.") log.warning(str(count) + " exceptions stored into database.") parser.wrapper.StopInsert()
def fill_db(files, conf_path): wrapper = SQLWrapper(conf_path, log) wrapper.connect() sig = '' count = 0 if re.match("[a-z0-9]+$", wrapper.dbname) == False: log.critial("Invalid dbname : "+wrapper.dbname) sys.exit(-1) wrapper.drop_database() wrapper.create_db() wrapper.select_db(wrapper.dbname) #wrapper.exec() log.critical("Filling db with %s (TABLES WILL BE DROPPED !)" % ' '.join(files)) parser = signature_parser(wrapper, log, None) parser.wrapper.StartInsert() for filename in files: with open(filename, 'r') as fd: for line in fd: fullstr = '' if 'NAXSI_FMT' in line: l = line.split(", ") date = ' '.join(l[0].split()[:2]) sig = l[0].split('NAXSI_FMT:')[1][1:] l = l[1:] request_args = {} for i in l: s = i.split(':') request_args[s[0]] = urllib.unquote(''.join(s[1:])) fullstr = request_args.get('request', 'None')[2:-1] + ' Referer : ' + request_args.get('referrer', ' "None"')[2:-1].strip('"\n') + ',Cookie : ' + request_args.get('cookie', ' "None"')[2:-1] if sig != '' and fullstr != '': parser.sig_to_db(fullstr, sig, date=date, learning=learning_mode) count += 1 print(str(count)+" exceptions stored into database.") log.warning(str(count)+" exceptions stored into database.") parser.wrapper.StopInsert()