Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
)
# Test case OK?
self.assertGreater(count, 0)
self.check_value("nmap_robots.txt_count", count)
# Test for script negate filter
ncount = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchscript(name="http-robots.txt", neg=True)
)
self.assertEqual(ncount, hosts_count - count)
result = ivre.db.db.nmap.get(
ivre.db.db.nmap.searchscript(name="http-robots.txt")
)
addr = next(result)['addr']
count = ivre.db.db.nmap.count(ivre.db.db.nmap.flt_and(
ivre.db.db.nmap.searchscript(name="http-robots.txt"),
ivre.db.db.nmap.searchhost(addr),
))
self.assertEqual(count, 1)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchscript(
name="http-robots.txt",
output=ivre.utils.str2regexp("/cgi-bin"),
))
self.assertGreater(count, 0)
self.check_value("nmap_robots.txt_cgi_count", count)
# Check the opposite condition
ncount = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchscript(
name="http-robots.txt",
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchsource("SOURCE",
neg=True))
self.assertEqual(count, 0)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchsource(re.compile("^SOURCE$"),
neg=True)
)
self.assertEqual(count, 0)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchport(80))
self.check_value("nmap_80_count", count)
neg_count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchport(80,
neg=True)
)
self.assertEqual(count + neg_count, hosts_count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchports([80, 443]))
self.check_value("nmap_80_443_count", count)
neg_count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchports([80, 443],
neg=True)
)
self.check_value("nmap_not_80_443_count", neg_count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchopenport())
self.check_value("nmap_openport_count", count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchhttpauth(newscript=True,
oldscript=True)
)
self.check_value("nmap_httpauth_count", count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchwebmin()
)
self.assertEqual(count, addr_range_count)
# Networks in `nets` are separated sets
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.flt_and(
*(ivre.db.db.nmap.searchnet(net) for net in nets)
)
)
self.assertEqual(count, 0 if len(nets) > 1 else addr_range_count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.flt_or(
*(ivre.db.db.nmap.searchnet(net) for net in nets)
)
)
self.assertEqual(count, addr_range_count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchscript(name="http-robots.txt")
)
# Test case OK?
self.assertGreater(count, 0)
self.check_value("nmap_robots.txt_count", count)
# Test for script negate filter
ncount = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchscript(name="http-robots.txt", neg=True)
)
self.assertEqual(ncount, hosts_count - count)
result = ivre.db.db.nmap.get(
ivre.db.db.nmap.searchscript(name="http-robots.txt")
)
addr = next(result)['addr']
'com'
)))['hostnames'][0]['name']
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchhostname(name))
self.assertGreater(count, 0)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchcategory("TEST"))
self.assertEqual(count, hosts_count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchcategory("TEST", neg=True)
)
self.assertEqual(count, 0)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchcategory(re.compile("^TEST$"),
neg=True)
)
self.assertEqual(count, 0)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchsource("SOURCE"))
self.assertEqual(count, hosts_count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchsource("SOURCE",
neg=True))
self.assertEqual(count, 0)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchsource(re.compile("^SOURCE$"),
neg=True)
)
self.assertEqual(count, 0)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchport(80))
self.check_value("nmap_80_count", count)
neg_count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchport(80,
neg=True)
)
self.assertEqual(count + neg_count, hosts_count)
# Test case OK?
self.assertGreater(count, 0)
self.check_value("nmap_domain_com_count", count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchdomain("com", neg=True)
)
self.check_value("nmap_not_domain_com_count", count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchdomain(re.compile("^(com|net)$"),
neg=True)
)
self.check_value("nmap_not_domain_com_or_net_count", count)
name = next(ivre.db.db.nmap.get(ivre.db.db.nmap.searchdomain(
'com'
)))['hostnames'][0]['name']
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchhostname(name))
self.assertGreater(count, 0)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchcategory("TEST"))
self.assertEqual(count, hosts_count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchcategory("TEST", neg=True)
)
self.assertEqual(count, 0)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchcategory(re.compile("^TEST$"),
neg=True)
)
self.assertEqual(count, 0)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchsource("SOURCE"))
self.assertEqual(count, hosts_count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchsource("SOURCE",
neg=True))
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchopenport())
self.check_value("nmap_openport_count", count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchhttpauth(newscript=True,
oldscript=True)
)
self.check_value("nmap_httpauth_count", count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchwebmin()
)
self.check_value("nmap_webmin_count", count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchowa()
)
self.check_value("nmap_owa_count", count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchhttptitle(re.compile('.'))
)
self.check_value("nmap_http_title_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchvsftpdbackdoor())
self.check_value("nmap_vsftpbackdoor_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchldapanon())
self.check_value("nmap_ldapanon_count", count)
self.check_int_value_cmd(
"nmap_isakmp_count",
["ivre", "scancli", "--count", "--service", "isakmp"],
)
# FIXME: add --service option to check_top_value_cli.
# self._check_value_cli(
# "nmap_isakmp_top_products",
# ["ivre", "scancli", "--top", "product", "--service", "isakmp"],
# )
except KeyError:
nscanned = nscanned['executionStats']['totalDocsExamined']
self.assertEqual(count, nscanned)
self.assertEqual(
query,
ivre.db.db.nmap.str2flt(ivre.db.db.nmap.flt2str(query))
)
# FIXME: test PostgreSQL indexes
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchx11())
self.check_value("nmap_x11_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchx11access())
self.check_value("nmap_x11access_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchnfs())
self.check_value("nmap_nfs_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchypserv())
self.check_value("nmap_nis_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchphpmyadmin())
self.check_value("nmap_phpmyadmin_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchwebfiles())
self.check_value("nmap_webfiles_count", count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchbanner(re.compile("^SSH-"))
)
self.check_value("nmap_ssh_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchvncauthbypass())
self.check_value("nmap_vncauthbypass_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchmssqlemptypwd())
self.check_value("nmap_mssql_emptypwd_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchmysqlemptypwd())
self.check_value("nmap_mysql_emptypwd_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchxp445())
if script['id'] == 'ssh-hostkey':
for key in script.get('ssh-hostkey', []):
if key.get('fingerprint') == fingerprint:
return True
return False
found_init_host = False
for host in ivre.db.db.nmap.get(ivre.db.db.nmap.searchsshkey(
fingerprint=fingerprint
)):
self.assertTrue(_has_fingerprint(host))
if host['addr'] == ip_addr:
found_init_host = True
self.assertTrue(found_init_host)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchhopdomain(re.compile('.'))
)
# Test case OK?
self.assertGreater(count, 0)
self.check_value("nmap_trace_hostname_count", count)
result = ivre.db.db.nmap.get(
ivre.db.db.nmap.searchhopdomain(re.compile('.'))
)
hop = random.choice([
hop for hop in
reduce(lambda x, y: x['hops'] + y['hops'],
next(result)['traces'],
{'hops': []})
if 'domains' in hop and hop['domains']
])
count = ivre.db.db.nmap.count(
self.check_value("nmap_vncauthbypass_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchmssqlemptypwd())
self.check_value("nmap_mssql_emptypwd_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchmysqlemptypwd())
self.check_value("nmap_mysql_emptypwd_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchxp445())
self.check_value("nmap_xp445_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchtorcert())
self.check_value("nmap_torcert_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchgeovision())
self.check_value("nmap_geovision_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchwebcam())
self.check_value("nmap_webcam_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchphonedev())
self.check_value("nmap_phonedev_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchnetdev())
self.check_value("nmap_netdev_count", count)
count = ivre.db.db.nmap.count(ivre.db.db.nmap.searchdomain("com"))
# Test case OK?
self.assertGreater(count, 0)
self.check_value("nmap_domain_com_count", count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchdomain("com", neg=True)
)
self.check_value("nmap_not_domain_com_count", count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchdomain(re.compile("^(com|net)$"),
neg=True)
)
self.check_value("nmap_not_domain_com_or_net_count", count)
name = next(ivre.db.db.nmap.get(ivre.db.db.nmap.searchdomain(
'com'
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.flt_or(
*(ivre.db.db.nmap.searchnet(net) for net in nets)
)
)
self.assertEqual(count, addr_range_count)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchscript(name="http-robots.txt")
)
# Test case OK?
self.assertGreater(count, 0)
self.check_value("nmap_robots.txt_count", count)
# Test for script negate filter
ncount = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchscript(name="http-robots.txt", neg=True)
)
self.assertEqual(ncount, hosts_count - count)
result = ivre.db.db.nmap.get(
ivre.db.db.nmap.searchscript(name="http-robots.txt")
)
addr = next(result)['addr']
count = ivre.db.db.nmap.count(ivre.db.db.nmap.flt_and(
ivre.db.db.nmap.searchscript(name="http-robots.txt"),
ivre.db.db.nmap.searchhost(addr),
))
self.assertEqual(count, 1)
count = ivre.db.db.nmap.count(
ivre.db.db.nmap.searchscript(
name="http-robots.txt",