diff --git a/nselib/data/folders.lst b/nselib/data/folders.lst
deleted file mode 100644
index 5afbc429a..000000000
--- a/nselib/data/folders.lst
+++ /dev/null
@@ -1,856 +0,0 @@
-
-1
-10
-2
-3
-4
-5
-6
-7
-8
-9
-Admin_files
-AdvWebAdmin
-Agent
-Agents
-Album
-CS
-CVS
-DMR
-DocuColor
-GXApp
-HB
-HBTemplates
-I
-IBMWebAS
-JBookIt
-Msword
-NSearch
-NetDynamic
-NetDynamics
-News
-PDG_Cart
-ROADS
-Readme
-ScriptLibrary
-SilverStream
-StoreDB
-ToDo
-WS_FTP
-WebBank
-WebCalendar
-WebShop
-WebTrend
-Web_store
-XSL
-_pages
-a
-acceso
-access
-accesswatch
-acciones
-account
-accounting
-active
-activex
-adm
-admcgi
-admentor
-admin
-admin-bak
-admin-old
-admin.back
-adminWeb
-admin_
-administration
-administrator
-adminuser
-adminweb
-admisapi
-agentes
-allow
-analog
-anthill
-apache
-app
-appl
-applets
-application
-applications
-applmgr
-apply
-apps
-appsec
-ar
-archive
-archives
-asa
-asp
-atc
-aut
-auth
-authadmin
-author
-authors
-aw
-ayuda
-b
-b2-include
-back
-backend
-backup
-backups
-bad
-bak
-banca
-banco
-bank
-banner
-banner01
-banners
-bar
-batch
-bb-dnbd
-bbv
-bdata
-bdatos
-beta
-billpay
-bin
-binaries
-binary
-boadmin
-boot
-bottom
-browse
-browser
-bsd
-btauxdir
-bug
-bugs
-bugzilla
-buy
-buynow
-c
-cache
-cache-stats
-cached
-caja
-card
-cards
-cart
-cash
-caspsamp
-catalog
-cbi-bin
-ccard
-ccards
-cd
-cd-cgi
-cdrom
-ce_html
-cert
-certificado
-certificate
-cfappman
-cfdocs
-cfide
-cgi
-cgi-auth
-cgi-bin
-cgi-bin2
-cgi-csc
-cgi-lib
-cgi-local
-cgi-scripts
-cgi-shl
-cgi-shop
-cgi-sys
-cgi-weddico
-cgi-win
-cgibin
-cgilib
-cgis
-cgiscripts
-cgiwin
-class
-classes
-client
-cliente
-clientes
-clients
-cm
-cmsample
-cobalt-images
-code
-com
-comments
-common
-communicator
-comp
-company
-compra
-compras
-compressed
-conecta
-conf
-config
-configs
-configure
-connect
-console
-contact
-contacts
-content
-controlpanel
-core
-corp
-correo
-counter
-credit
-cron
-crons
-crypto
-csr
-css
-cuenta
-cuentas
-currency
-cust
-custom
-customer
-customers
-cvsweb
-cybercash
-d
-darkportal
-dat
-data
-database
-databases
-datafiles
-dato
-datos
-db
-dbase
-dcforum
-ddreport
-ddrint
-debug
-debugs
-default
-delete
-demo
-demoauct
-demomall
-demos
-demouser
-deny
-derived
-design
-dev
-devel
-development
-dir
-directories
-directory
-directorymanager
-dl
-dm
-dms
-dms0
-dmsdump
-doc
-doc-html
-doc1
-docs
-docs1
-document
-documentation
-documents
-down
-download
-downloads
-dump
-durep
-e
-easylog
-eforum
-ejemplo
-ejemplos
-email
-emailclass
-employees
-empoyees
-empris
-enter
-envia
-enviamail
-error
-errors
-es
-estmt
-etc
-example
-examples
-exc
-excel
-exchange
-exe
-exec
-exit
-export
-external
-extranet
-f
-failure
-fbsd
-fcgi
-fcgi-bin
-features
-file
-filemanager
-files
-find
-flash
-foldoc
-foo
-foobar
-form
-form-totaller
-forms
-formsmgr
-forum
-forums
-foto
-fotos
-fpadmin
-fpclass
-fpdb
-fpe
-fpsample
-frames
-framesets
-frontpage
-ftp
-ftproot
-fun
-func
-function
-functions
-g
-general
-gfx
-gif
-gifs
-global
-globals
-good
-graphics
-grocery
-guest
-guestbook
-guests
-h
-help
-helpdesk
-hidden
-hide
-hit_tracker
-hitmatic
-hlstats
-home
-host
-hosted
-hosting
-hostingcontroller
-ht
-htbin
-htdocs
-htm
-html
-http
-https
-hyperstat
-ibank
-ibill
-icons
-idea
-ideas
-iisadmin
-iissamples
-image
-imagenes
-imagery
-images
-img
-imp
-import
-impreso
-in
-inc
-include
-includes
-incoming
-index
-inet
-inf
-info
-information
-ingresa
-ingreso
-install
-internal
-internet
-intranet
-inventory
-invitado
-isapi
-j
-japidoc
-java
-javascript
-javasdk
-javatest
-jave
-jdbc
-job
-jrun
-js
-jsa
-jscript
-jserv
-jslib
-jsp
-junk
-k
-kiva
-known
-l
-labs
-lcgi
-lib
-libraries
-library
-libro
-license
-licenses
-links
-linux
-loader
-local
-location
-locations
-log
-logfile
-logfiles
-logg
-logger
-logging
-login
-logon
-logout
-logs
-lost+found
-m
-mail
-mail_log_files
-mailman
-mailroot
-makefile
-mall_log_files
-man
-manage
-management
-manager
-manual
-map
-maps
-marketing
-mem
-mem_bin
-member
-members
-message
-messaging
-metacart
-microsoft
-misc
-mkstats
-mod
-module
-modules
-movimientos
-mqseries
-ms
-msfpe
-msql
-my
-mysql
-mysql_admin
-n
-name
-names
-ncadmin
-nchelp
-ncsample
-net
-netbasic
-netcat
-netmagstats
-netscape
-netshare
-nettracker
-network
-new
-news
-nextgeneration
-nl
-notes
-noticias
-o
-objects
-odbc
-old
-old_files
-oldfiles
-oprocmgr-service
-oprocmgr-status
-oracle
-oradata
-order
-orders
-os
-out
-outgoing
-owners
-p
-page
-pages
-partner
-partners
-passport
-password
-passwords
-path
-payment
-payments
-pccsmysqladm
-perl
-perl5
-personal
-pforum
-phorum
-php
-phpBB
-phpMyAdmin
-phpmyadmin
-phpPhotoAlbum
-phpSecurePages
-php_classes
-phpclassifieds
-phpimageview
-phpnuke
-phpprojekt
-pics
-pictures
-pike
-piranha
-pls
-plsql
-poll
-polls
-portal
-portals
-postgres
-ppwb
-printers
-priv
-privacy
-privado
-private
-prod
-protected
-proxy
-prueba
-pruebas
-prv
-pub
-public
-publica
-publicar
-publico
-publish
-purchase
-purchases
-pw
-python
-q
-r
-random_banner
-rdp
-register
-registered
-registry
-remote
-remove
-report
-reports
-reseller
-restricted
-retail
-reveal
-reviews
-robot
-robots
-root
-rsrc
-ruby
-s
-sales
-sample
-samples
-save
-script
-scripts
-search
-search-ui
-sec
-secret
-secure
-secured
-security
-sell
-server
-server-info
-server-status
-server_stats
-servers
-serverstats
-service
-services
-servicio
-servicios
-servlet
-servlets
-session
-setup
-share
-shared
-sharedtemplates
-shell-cgi
-shipping
-shop
-shopper
-show
-site
-siteadmin
-sitemgr
-siteminder
-siteminderagent
-sites
-siteserver
-sitestats
-siteupdate
-smreports
-smreportsviewer
-soap
-soapdocs
-software
-solaris
-source
-sql
-squid
-src
-srchadm
-ssi
-ssl
-sslkeys
-staff
-stat
-state
-statistic
-statistics
-stats
-stats-bin-p
-stats_old
-status
-storage
-store
-storemgr
-stronghold-info
-stronghold-status
-stuff
-style
-styles
-stylesheet
-stylesheets
-subir
-sun
-super_stats
-supplier
-suppliers
-supply
-support
-supporter
-sys
-sysadmin
-sysbackup
-system
-systems
-t
-tar
-target
-tarjetas
-te_html
-tech
-technote
-temp
-template
-templates
-temporal
-test
-test-cgi
-testing
-tests
-testweb
-themes
-ticket
-tickets
-tip
-tips
-tmp
-tool
-tools
-top
-tpv
-trabajo
-track
-tracking
-transfer
-transito
-transpolar
-tree
-trees
-trick
-tricks
-u
-u02
-unix
-unknown
-updates
-upload
-uploads
-us
-usage
-user
-userdb
-users
-usr
-ustats
-usuario
-usuarios
-util
-utils
-v
-vendor
-vfs
-vti_bin
-vti_bot
-vti_log
-vti_pvt
-vti_shm
-vti_txt
-w
-w-agora
-w2000
-w2k
-w3perl
-way-board
-web
-web-inf
-web800fo
-webAdmin
-webDB
-webMathematica
-web_usage
-webaccess
-webadmin
-webalizer
-webapps
-webboard
-webcart
-webcart-lite
-webdata
-webdav
-webdb
-webimages
-webimages2
-weblog
-weblogs
-webmaster
-webmaster_logs
-webpub
-webpub-ui
-webreports
-webreps
-webshare
-website
-webstat
-webstats
-webtrace
-webtrends
-win
-win2k
-window
-windows
-word
-work
-world
-wsdocs
-wstats
-wusage
-www
-www-sql
-www0
-www2
-www3
-www4
-wwwjoin
-wwwlog
-wwwrooot
-wwwstat
-wwwstats
-x
-xGB
-xml
-xtemp
-y
-z
-zb41
-zip
-zipfiles
-winnt
-secure
-protected
-cgi-bin
-j2ee
-j2ee/examples
-j2ee/examples/jsp
-ojspdemos
-pls
-pls/sample
-pls/sample/admin
-pls/sample/admin_
-pls/sample/admin_/help
-recycler
-deleted
-tmp
-intranet
-network
-AlbumArt
-AlbumArt_
-My Shared Folder
-fileadmin
-webadmin
-content.ie5
diff --git a/nselib/data/http-fingerprints b/nselib/data/http-fingerprints
deleted file mode 100644
index 876fca941..000000000
--- a/nselib/data/http-fingerprints
+++ /dev/null
@@ -1,141 +0,0 @@
-# Apache configuration file
-/.htaccess
-/.htpasswd
-
-# Subversion data
-/.svn/
-/.svn/text-base/Web.config.svn-base
-/.svn/text-base/.htaccess.svn-base
-/.svn/text-base/.htpasswd.svn-base
-
-# FrontPage directory
-/_vti_bin/
-/_vti_cnf/
-/_vti_log/
-/_vti_pvt/
-/_vti_txt/
-
-# Admin directory
-/admin/
-
-# Backup
-/backup/
-/bak/
-/backup.sql
-
-# Beta directory
-/beta/
-
-# Bin directory
-/bin/
-
-# CSS directory
-/css/
-
-# Data directory
-/data/
-
-# Database directory
-/db/
-
-# Demo directory
-/demo/
-
-# Development directory
-/dev/
-
-# Downloads directory
-/downloads/
-
-# Password file
-/etc/passwd
-
-# Forum software
-/forum/
-/forums/
-
-# Icons and images
-/icons/
-/images/
-
-# IIS sample scripts
-/iissamples/
-
-# Includes directory
-/includes/
-
-# Inicoming files directory
-/incoming/
-
-# Install directory
-/install/
-
-# Intranet directory
-/intranet/
-
-# Logs
-/logs/
-/log.htm
-
-# Login
-/login/
-/login.htm
-/login.html
-/login.php
-/login.aspx
-/login.asp
-
-# Mail directory
-/mail/
-/webmail/
-
-# Manual directory (apache)
-/manual/
-
-# phpMyAdmin
-/phpmyadmin/
-/phpMyAdmin/
-
-# Test
-/test.htm
-/test.html
-/test.asp
-/test.php
-/test.txt
-/test.class
-/test/
-
-# RSS
-/rss/
-/rss.php
-/rss.xml
-/rss.aspx
-/atom/
-/atom.php
-/atom.xml
-/atom.aspx
-
-# Robots file
-/robots.txt
-
-# Ruby on Rails
-/images/rails.png
-
-# Private
-/private/
-/_private/
-
-# Public
-/public/
-/_public/
-/pub/
-
-# Classes
-/classes/
-
-# Blog
-/blog/
-
-# Wiki
-/wiki/
-
diff --git a/nselib/data/http-fingerprints.lua b/nselib/data/http-fingerprints.lua
new file mode 100644
index 000000000..838a5c249
--- /dev/null
+++ b/nselib/data/http-fingerprints.lua
@@ -0,0 +1,1064 @@
+---HTTP Fingerprint files, compiled by Ron Bowes from three sources:
+-- 1) The yokoso project's fingerprint file, used with permission
+-- (See http://yokoso.inguardians.com/ for more information)
+-- 2) A list of interesting folders that Nmap already had (uncredited,
+-- please contact nmap-dev@insecure.org if you're aware of where they
+-- came from.
+-- 3) A significant amount of manual effort by Ron Bowes in actually
+-- installing and scanning different programs.
+--
+-- This file is released under the Nmap license; see:
+-- http://nmap.org/book/man-legal.html
+--
+-- Although this format was originally modeled after the Nikto format, that ended
+-- up being too restrictive. The current format is a simple Lua table. There are many
+-- advantages to this technique; it's powerful, we don't need to write custom parsing
+-- code, anybody who codes in Lua can easily add checks, and we can write converters
+-- to read Nikto and other formats if we want to.
+--
+-- The 'fingerprints' table is the key. It's an array of checks that will be run in the
+-- order they're given. Each check consists of a path, zero or more matches, output text,
+-- and other optional fields. Here are all the currently defined fields:
+--
+-- fingerprint.path
+-- The URI to check, optionally containing GET arguments. This can also be an array, in
+-- which case it will perform the matches and checks for each path and potentially display
+-- the results for every path.
+--
+-- fingerprint.verb [optional; default: 'GET']
+-- The HTTP verb to use when making requests ('GET', 'POST', 'HEAD', 'PUT', 'DELETE', etc
+--
+-- fingerprint.ignore_404 [optional; default: false]
+-- If set, the automatic checks for 404 and custom 404 pages are disabled for that check.
+-- Every page will be included unless fingerprint.matches.dontmatch excludes it.
+--
+-- fingerprint.severity [optional; default: 1]
+-- Give a severity rating, if it's a vulnerability. The scale is:
+-- 1 - Info
+-- 2 - Low priority
+-- 3 - Warning
+-- 4 - Critical
+--
+-- fingerprint.matches
+-- An array of tables, each of which contains three fields. These will be checked, starting
+-- from the first, until one is matched. If there is no 'match' text, it will fire as long
+-- as the result isn't a 404. This match is not case sensitive.
+--
+-- fingerprint.matches[i].match
+-- A string (specifically, a Lua pattern) that has to be found somewhere in the output to
+-- count as a match. The string can be in the status line, in a header, or in the body.
+-- In addition to matching, this field can contain captures that'll be included in the
+-- output. See: http://lua-users.org/wiki/PatternsTutorial
+--
+-- fingerprint.matches[i].dontmatch
+-- A string (specifically, a lua pattern) that cannot be found somewhere in the output.
+-- This takes precedence over any text matched in the 'match' field
+--
+-- fingerprint.matches[i].output
+-- The text to output if this match happens. If the 'match' field contains captures, these
+-- captures can be used with \1, \2, etc.
+--
+--
+-- If you have any questions, feel free to email nmap-dev@insecure.org or contact Ron Bowes!
+--
+
+fingerprints = {}
+
+table.insert(fingerprints, {
+ path={ '/' },
+ matches={
+ {match='
Index of .*(Apache.*) Server at', output='Root directory w/ listing on \'\\1\''},
+ {match='Index of', output='Root directory w/ directory listing'}
+ }
+})
+
+table.insert(fingerprints, {
+ path={ '/images/', '/icons/' },
+ matches={
+ {match='Index of .*(Apache.*) Server at', output='Image directory w/ listing on \'\\1\''},
+ {match='Index of', output='Image directory w/ directory listing'},
+ {match='', output='Image directory'}
+ }
+})
+
+table.insert(fingerprints, {
+ path={ '/0/', '/1/', '/2/', '/3/', '/4/', '/5/', '/6/', '/7/', '/8/', '/9/', '/10/', '/a/', '/b/', '/c/', '/d/', '/e/', '/f/', '/g/', '/h/', '/i/', '/j/', '/k/', '/l/', '/m/', '/n/', '/o/', '/p/', '/q/', '/r/', '/s/', '/t/', '/u/', '/v/', '/w/', '/x/', '/x/', '/y/', '/z/'
+ },
+ matches={
+ {match='Index of .*(Apache.*) Server at', output='Potentially interesting directory w/ listing on \'\\1\''},
+ {match='Index of', output='Potentially interesting folder w/ directory listing'},
+ {match='', output='Potentially interesting folder'}
+ }
+})
+
+table.insert(fingerprints, {
+ path={ '/admin/', '/admin_', '/administration/', '/administrator/', '/admin-old/', '/adminuser/', '/adminweb/', '/adminWeb/', '/Admin_files/', '/admin-bak/', '/admin.back/', '/adm/' },
+ matches={
+ {match='Index of', output='Possible admin folder w/ directory listing'},
+ {output='Possible admin folder'}
+ }
+})
+
+table.insert(fingerprints, {
+ path={ '/arcsight/', '/arcsight/images/logo-login-arcsight.gif', '/arcsight/images/navbar-icon-logout-on.gif', '/images/logo-arcsight.gif' },
+ matches={
+ {output='Arcsight Web interface'}
+ }
+})
+
+table.insert(fingerprints, {
+ path={ '/phpmyadmin/', '/phpMyAdmin/', '/PHPMyAdmin/' },
+ matches={
+ {output='phpMyAdmin'}
+ }
+})
+
+table.insert(fingerprints, {
+ path={ '/beef/', '/BEEF/', '/beef/images/beef.gif' },
+ matches={
+ {output='BeEF Browser Exploitation Framework'}
+ }
+})
+
+table.insert(fingerprints, { path='/acceso/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/access/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/accesswatch/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/acciones/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/account/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/accounting/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/active/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/activex/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/admcgi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/admisapi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/AdvWebAdmin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/agentes/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/Agent/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/Agents/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/AlbumArt_/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/AlbumArt/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/Album/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/allow/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/analog/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/anthill/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/apache/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/app/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/applets/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/appl/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/application/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/applications/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/applmgr/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/apply/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/appsec/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/apps/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/archive/flash:home/html/images/Cisco_logo.gif', verb='GET', matches={ {match='', output='Cisco SDM'} }})
+table.insert(fingerprints, { path='/archive/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/archives/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ar/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/asa/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/asp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/atc/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/atom.aspx', verb='GET', matches={ {match='', output='RSS'} }})
+table.insert(fingerprints, { path='/atom/', verb='GET', matches={ {match='', output='RSS'} }})
+table.insert(fingerprints, { path='/atom.php', verb='GET', matches={ {match='', output='RSS'} }})
+table.insert(fingerprints, { path='/atom.xml', verb='GET', matches={ {match='', output='RSS'} }})
+table.insert(fingerprints, { path='/aut/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/authadmin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/auth/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/author/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/authors/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/aw/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ayuda/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/b2-include/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/backend/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/back/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/backup/', verb='GET', matches={ {match='', output='Backup'} }})
+table.insert(fingerprints, { path='/backups/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/backup.sql', verb='GET', matches={ {match='', output='Backup'} }})
+table.insert(fingerprints, { path='/bad/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bak/', verb='GET', matches={ {match='', output='Backup'} }})
+table.insert(fingerprints, { path='/banca/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/banco/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bank/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/banner01/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/banner/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/banners/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bar/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/batch/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bb-dnbd/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bbv/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bdata/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bdatos/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/beta/', verb='GET', matches={ {match='', output='Beta directory'} }})
+table.insert(fingerprints, { path='/billpay/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/binaries/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/binary/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bin/', verb='GET', matches={ {match='', output='Bin directory'} }})
+table.insert(fingerprints, { path='/blog/', verb='GET', matches={ {match='', output='Blog'} }})
+table.insert(fingerprints, { path='/boadmin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/boot/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bottom/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/browse/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/browser/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bsd/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/btauxdir/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bug/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bugs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/bugzilla/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/buy/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/buynow/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cached/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cache/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cache-stats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/caja/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/card/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cards/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cart/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cash/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/caspsamp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/catalog/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cbi-bin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ccard/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ccards/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cd-cgi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cd/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cdrom/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ce_html/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cert/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/certificado/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/certificate/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cfappman/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cfdocs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cfide/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-914/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-915/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-auth/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-bin2/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-bin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgibin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-bin/image/shikaku2.png', verb='GET', matches={ {match='', output='TeraStation PRO RAID 0/1/5 Network Attached Storage'} }})
+table.insert(fingerprints, { path='/cgi.cgi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-csc/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-exe/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-home/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-lib/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgilib/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-local/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-perl/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-scripts/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgiscripts/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgis/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-shl/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-shop/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-sys/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-weddico/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgi-win/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cgiwin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/Citrix/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/Citrix/MetaFrame/auth/login.aspx', verb='GET', matches={ {match='', output='Citrix MetaFrame'} }})
+table.insert(fingerprints, { path='/classes/', verb='GET', matches={ {match='', output='Classes'} }})
+table.insert(fingerprints, { path='/class/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cliente/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/clientes/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/client/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/clients/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/client/VMware-viclient.exe', verb='GET', matches={ {match='', output='Virtual Center'} }})
+table.insert(fingerprints, { path='/cm/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cmsample/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cobalt-images/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/code/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/com/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/comments/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/common/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/communicator/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/company/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/comp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/compra/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/compras/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/compressed/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/conecta/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/conf/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/config/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/config/public/usergrp.gif', verb='GET', matches={ {match='', output='AXIS StorPoint CD100'} }})
+table.insert(fingerprints, { path='/configs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/configure/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/connect/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/console/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/contact/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/contacts/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/content/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/content.ie5/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/controlpanel/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/core/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/corp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/correo/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/counter/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cpqlogin.htm?RedirectUrl=/&RedirectQueryString=', verb='GET', matches={ {match='', output='HP System Management Homepage v2.0.2.106'} }})
+table.insert(fingerprints, { path='/credit/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cron/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/crons/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/crypto/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/CS/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/csr/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/css/', verb='GET', matches={ {match='', output='CSS directory'} }})
+table.insert(fingerprints, { path='/cuenta/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cuentas/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/currency/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cust/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/customer/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/customers/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/custom/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/CVS/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cvsweb/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/cybercash/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/darkportal/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/database/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/databases/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/datafiles/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/data/', verb='GET', matches={ {match='', output='Data directory'} }})
+table.insert(fingerprints, { path='/dat/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/dato/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/datos/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/dbase/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/db/', verb='GET', matches={ {match='', output='Database directory'} }})
+table.insert(fingerprints, { path='/dcforum/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ddreport/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ddrint/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/debug/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/debugs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/default/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/Default?MAIN=DEVICE', verb='GET', matches={ {match='', output='TopAccess Toshiba e-Studio520'} }})
+table.insert(fingerprints, { path='/deleted/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/delete/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/demoauct/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/demo/', verb='GET', matches={ {match='', output='Demo directory'} }})
+table.insert(fingerprints, { path='/demomall/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/demos/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/demouser/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/deny/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/deploymentmanager/', verb='GET', matches={ {match='', output='IBM Proventia Deployment Manager (SiteProtector)'} }})
+table.insert(fingerprints, { path='/derived/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/design/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/devel/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/development/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/dev/', verb='GET', matches={ {match='', output='Development directory'} }})
+table.insert(fingerprints, { path='/directories/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/directory/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/directorymanager/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/dir/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/dl/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/dm/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/DMR/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/dms0/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/dmsdump/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/dms/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/dnn/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/doc1/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/doc/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/doc-html/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/docs1/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/docs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/DocuColor/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/documentation/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/document/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/documents/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/dotnetnuke/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/down/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/download/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/downloads/', verb='GET', matches={ {match='', output='Downloads directory'} }})
+table.insert(fingerprints, { path='/dump/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/durep/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/easylog/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/eforum/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ejemplo/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ejemplos/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/emailclass/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/email/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/employees/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/empoyees/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/empris/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/enter/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/envia/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/enviamail/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/en/welcomeRes.js', verb='GET', matches={ {match='', output='VMware Virtual Infrastructure Web Access'} }})
+table.insert(fingerprints, { path='/error/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/errors/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/es/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/estmt/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/etc/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/etc/passwd', verb='GET', matches={ {match='', output='Password file'} }})
+table.insert(fingerprints, { path='/etcpasswd/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/example/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/examples/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/excel/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/exc/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/exchange/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/exchweb/bin/auth/owalogon.asp', verb='GET', matches={ {match='', output='Outlook Web Access'} }})
+table.insert(fingerprints, { path='/exchweb/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/exec/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/exe/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/exit/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/export/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/external/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/extranet/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/failure/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/fbsd/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/fcgi-bin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/fcgi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/features/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/fileadmin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/file/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/filemanager/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/files/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/find/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/flash/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/foldoc/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/foobar/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/foo/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/footer1.gif', verb='GET', matches={ {match='', output='Oracle Web Server'} }})
+table.insert(fingerprints, { path='/form/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/forms/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/formsmgr/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/form-totaller/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/forum/', verb='GET', matches={ {match='', output='Forum software'} }})
+table.insert(fingerprints, { path='/forums/', verb='GET', matches={ {match='', output='Forum software'} }})
+table.insert(fingerprints, { path='/foto/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/fotos/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/fpadmin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/fpclass/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/fpdb/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/fpe/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/fpsample/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/framesets/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/frames/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/frontpage/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ftp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ftproot/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/func/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/function/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/functions/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/fun/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/general/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/gfx/form_top_left_corner.gif', verb='GET', matches={ {match='', output='Secunia NSI'} }})
+table.insert(fingerprints, { path='/gfx/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/gfx/logout_24.png', verb='GET', matches={ {match='', output='Secunia NSI'} }})
+table.insert(fingerprints, { path='/gfx/new_logo.gif', verb='GET', matches={ {match='', output='Secunia NSI'} }})
+table.insert(fingerprints, { path='/gif/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/gif/hp.gif', verb='GET', matches={ {match='', output='HP DesignJet 1055CM'} }})
+table.insert(fingerprints, { path='/gif/hp_invent_logo.gif', verb='GET', matches={ {match='', output='HP DesignJet 1055CM'} }})
+table.insert(fingerprints, { path='/gif/printer.gif', verb='GET', matches={ {match='', output='HP DesignJet 1055CM'} }})
+table.insert(fingerprints, { path='/gifs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/global/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/globals/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/good/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/graphics/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/grocery/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/guestbook/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/guest/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/guests/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/GXApp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/HB/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/HBTemplates/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/helpdesk/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/help/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/hidden/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/hide/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/hitmatic/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/hit_tracker/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/hlstats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/home/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/homepage.nsf/homePage.gif?OpenImageResource', verb='GET', matches={ {match='', output='Lotus Domino'} }})
+table.insert(fingerprints, { path='/hosted/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/host/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/hostingcontroller/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/hosting/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/hp/device/this.LCDispatcher', verb='GET', matches={ {match='', output='HP LaserJet Printer'} }})
+table.insert(fingerprints, { path='/hp/device/webAccess/index.htm', verb='GET', matches={ {match='', output='HP DesignJet T1100ps 44in'} }})
+table.insert(fingerprints, { path='/hp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/hplogo.gif', verb='GET', matches={ {match='', output='HP System Management Homepage v2.0.2.106'} }})
+table.insert(fingerprints, { path='/.htaccess', verb='GET', matches={ {match='', output='Apache configuration file'} }})
+table.insert(fingerprints, { path='/htbin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/htdocs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ht/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/htm/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/html/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/.htpasswd', verb='GET', matches={ {match='', output='Apache configuration file'} }})
+table.insert(fingerprints, { path='/http/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/https/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/hyperstat/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/i18n/EN/css/foundstone.css', verb='GET', matches={ {match='', output='Foundstone Enterprise'} }})
+table.insert(fingerprints, { path='/i18n/EN/images/external_nav_square.gif', verb='GET', matches={ {match='', output='Foundstone Enterprise'} }})
+table.insert(fingerprints, { path='/i18n/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ibank/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ibill/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/IBMWebAS/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/icons/ecblank.gif', verb='GET', matches={ {match='', output='Lotus Domino'} }})
+table.insert(fingerprints, { path='/idea/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ideas/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ie_index.htm', verb='GET', matches={ {match='', output='HP Integrated Lights Out'} }})
+table.insert(fingerprints, { path='/I/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/iisadmin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/iissamples/', verb='GET', matches={ {match='', output='IIS sample scripts'} }})
+table.insert(fingerprints, { path='/ilo.gif', verb='GET', matches={ {match='', output='HP Integrated Lights Out'} }})
+table.insert(fingerprints, { path='/image/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/imagenes/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/imagery/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/images/btn_help_nml.gif', verb='GET', matches={ {match='', output='IBM Proventia GX4002'} }})
+table.insert(fingerprints, { path='/images/ctxHeader01.jpg', verb='GET', matches={ {match='', output='Citrix WebTop'} }})
+table.insert(fingerprints, { path='/images/hdr_icon_homeG.gif', verb='GET', matches={ {match='', output='IBM Proventia GX4002'} }})
+table.insert(fingerprints, { path='/images/icon_server_connected.gif', verb='GET', matches={ {match='', output='HP Blade Enclosure'} }})
+table.insert(fingerprints, { path='/images/isslogo.gif', verb='GET', matches={ {match='', output='IBM Proventia Deployment Manager (SiteProtector)'} }})
+table.insert(fingerprints, { path='/images/lexbold.gif', verb='GET', matches={ {match='', output='Lexmark T632'} }})
+table.insert(fingerprints, { path='/images/lexlogo.gif', verb='GET', matches={ {match='', output='Lexmark C772'} }})
+table.insert(fingerprints, { path='/images/mute_alloff.gif', verb='GET', matches={ {match='', output='NEC Projector'} }})
+table.insert(fingerprints, { path='/images/outlook.jpg', verb='GET', matches={ {match='', output='Outlook Web Access'} }})
+table.insert(fingerprints, { path='/images/pic_bri.gif', verb='GET', matches={ {match='', output='NEC Projector'} }})
+table.insert(fingerprints, { path='/images/printer.gif', verb='GET', matches={ {match='', output='Lexmark C772'} }})
+table.insert(fingerprints, { path='/images/rails.png', verb='GET', matches={ {match='', output='Ruby on Rails'} }})
+table.insert(fingerprints, { path='/images/Safeword_Token.jpg', verb='GET', matches={ {match='', output='Citrix WebTop'} }})
+table.insert(fingerprints, { path='/img/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/imp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/import/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/impreso/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/inc/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/include/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/includes/', verb='GET', matches={ {match='', output='Includes directory'} }})
+table.insert(fingerprints, { path='/incoming/', verb='GET', matches={ {match='', output='Inicoming files directory'} }})
+table.insert(fingerprints, { path='/index/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/inet/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/inf/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/info/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/information/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/in/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ingresa/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ingreso/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/install/', verb='GET', matches={ {match='', output='Install directory'} }})
+table.insert(fingerprints, { path='/internal/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/internet/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/intranet/', verb='GET', matches={ {match='', output='Intranet directory'} }})
+table.insert(fingerprints, { path='/inventory/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/invitado/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/isapi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/j2eeexamples/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/j2eeexamplesjsp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/j2ee/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/japidoc/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/java/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/javascript/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/javascript/sorttable.js', verb='GET', matches={ {match='', output='Secunia NSI'} }})
+table.insert(fingerprints, { path='/javasdk/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/javatest/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/jave/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/JBookIt/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/jdbc/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/job/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/jrun/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/jsa/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/jscript/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/jserv/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/js/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/jslib/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/jsp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/junk/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/jwsappmngr.jnlp', verb='GET', matches={ {match='', output='netForensics'} }})
+table.insert(fingerprints, { path='/kiva/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/known/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/labs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/_layouts/images/helpicon.gif', verb='GET', matches={ {match='', output='MS Sharepoint'} }})
+table.insert(fingerprints, { path='/lcgi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/lib/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/libraries/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/library/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/libro/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/license/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/licenses/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/links/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/linux/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/loader/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/local/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/location/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/locations/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/logfile/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/logfiles/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/logger/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/logger/monitor.ftl', verb='GET', matches={ {match='', output='ArcSight Collector Appliance'} }})
+table.insert(fingerprints, { path='/log/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/logg/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/logging/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/log.htm', verb='GET', matches={ {match='', output='Logs'} }})
+table.insert(fingerprints, { path='/login.asp', verb='GET', matches={ {match='', output='Login'} }})
+table.insert(fingerprints, { path='/login.aspx', verb='GET', matches={ {match='', output='Login'} }})
+table.insert(fingerprints, { path='/login/', verb='GET', matches={ {match='', output='Login'} }})
+table.insert(fingerprints, { path='/login.htm', verb='GET', matches={ {match='', output='Login'} }})
+table.insert(fingerprints, { path='/login.html', verb='GET', matches={ {match='', output='Login'} }})
+table.insert(fingerprints, { path='/login.php', verb='GET', matches={ {match='', output='Login'} }})
+table.insert(fingerprints, { path='/logon/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/logout/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/logs/', verb='GET', matches={ {match='', output='Logs'} }})
+table.insert(fingerprints, { path='/lost+found/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mail/', verb='GET', matches={ {match='', output='Mail directory'} }})
+table.insert(fingerprints, { path='/mail_log_files/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mailman/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mailroot/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/makefile/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mall_log_files/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/manage/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/management/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/manager/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/man/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/manual/', verb='GET', matches={ {match='', output='Manual directory (apache)'} }})
+table.insert(fingerprints, { path='/map/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/maps/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/marketing/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mediawiki/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/member/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/members/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mem_bin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mem/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/message/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/messaging/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/metacart/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/microsoft/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/misc/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mkstats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mod/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/module/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/modules/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/movimientos/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mpcgi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mqseries/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/msfpe/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ms/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/msql/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/Msword/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mxhtml/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mxhtml/images/signin_logo.gif', verb='GET', matches={ {match='', output='HP Insight Manager'} }})
+table.insert(fingerprints, { path='/mxhtml/images/status_critical_15.gif', verb='GET', matches={ {match='', output='HP Insight Manager'} }})
+table.insert(fingerprints, { path='/mxportal/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mxportal/home/en_US/servicetools.gif', verb='GET', matches={ {match='', output='HP Insight Manager'} }})
+table.insert(fingerprints, { path='/mxportal/home/MxPortalFrames.jsp', verb='GET', matches={ {match='', output='HP Insight Manager'} }})
+table.insert(fingerprints, { path='/my/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/My Shared Folder/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mysql_admin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/mysql/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/na_admin/styles/dfm.css', verb='GET', matches={ {match='', output='NetworkAppliance NetApp Release 6.5.3P4'} }})
+table.insert(fingerprints, { path='/name/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/names/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ncadmin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/nchelp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ncsample/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/netbasic/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/netcat/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/NetDynamic/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/NetDynamics/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/net/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/netmagstats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/netscape/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/netshare/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/nettracker/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/network/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/new/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/news/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/News/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/nextgeneration/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/nfdesktop.jnlp', verb='GET', matches={ {match='', output='netForensics'} }})
+table.insert(fingerprints, { path='/nfservlets/servlet/SPSRouterServlet/', verb='GET', matches={ {match='', output='netForensics'} }})
+table.insert(fingerprints, { path='/nl/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/notes/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/noticias/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/NSearch/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/objects/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/odbc/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/officescan/console/html/cgi/cgiChkMasterPwd.exe', verb='GET', matches={ {match='', output='Trend Micro OfficeScan Server'} }})
+table.insert(fingerprints, { path='/officescan/console/html/ClientInstall/officescannt.htm', verb='GET', matches={ {match='', output='Trend Micro OfficeScan Server Client Install'} }})
+table.insert(fingerprints, { path='/officescan/console/html/images/icon_refresh.gif', verb='GET', matches={ {match='', output='Trend Micro OfficeScan Server'} }})
+table.insert(fingerprints, { path='/officescan/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ojspdemos/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/old_files/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/oldfiles/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/old/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/oprocmgr-service/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/oprocmgr-status/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/oracle/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/oradata/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/order/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/orders/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/os/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/out/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/outgoing/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/owa/8.1.375.2/themes/base/lgntopl.gif', verb='GET', matches={ {match='', output='Outlook Web Access'} }})
+table.insert(fingerprints, { path='/owa/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/owners/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ows-bin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/page/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/Pages/Default.aspx', verb='GET', matches={ {match='', output='MS Sharepoint'} }})
+table.insert(fingerprints, { path='/PageSelector.class', verb='GET', matches={ {match='', output='HP LaserJet 4000 series'} }})
+table.insert(fingerprints, { path='/_pages/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/pages/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/partner/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/partners/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/passport/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/password/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/passwords/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/path/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/payment/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/payments/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/pccsmysqladm/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/PDG_Cart/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/perl5/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/perl/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/personal/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/pforum/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/phorum/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/phpBB/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/php_classes/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/phpclassifieds/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/php/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/phpimageview/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/phpnuke/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/phpPhotoAlbum/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/phpprojekt/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/phpSecurePages/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/pics/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/picts/BC_bwlogorev.gif', verb='GET', matches={ {match='', output='BlueCoat Reporter'} }})
+table.insert(fingerprints, { path='/picts/menu_leaf.gif', verb='GET', matches={ {match='', output='BlueCoat Reporter'} }})
+table.insert(fingerprints, { path='/pictures/buttons/file_view_mark.gif', verb='GET', matches={ {match='', output='AXIS StorPoint CD E100'} }})
+table.insert(fingerprints, { path='/pictures/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/pike/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/piranha/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/pls/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/plsql/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/plssampleadmin_/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/plssampleadmin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/plssampleadmin_help/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/plssample/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/poll/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/polls/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/porn/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/portal/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/portals/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/postgres/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/postnuke/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ppwb/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/printer/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/printer/image', verb='GET', matches={ {match='', output='Lexmark T632'} }})
+table.insert(fingerprints, { path='/printers/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/privacy/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/privado/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/_private/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/private/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/priv/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/prod/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/projectserver/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/projectserver/Home/HomePage.asp', verb='GET', matches={ {match='', output='MS Project Server'} }})
+table.insert(fingerprints, { path='/projectserver/images/branding.gif', verb='GET', matches={ {match='', output='MS Project Server'} }})
+table.insert(fingerprints, { path='/projectserver/images/pgHome.gif', verb='GET', matches={ {match='', output='MS Project Server'} }})
+table.insert(fingerprints, { path='/projectserver/images/pgTask.gif', verb='GET', matches={ {match='', output='MS Project Server'} }})
+table.insert(fingerprints, { path='/projectserver/Tasks/Taskspage.asp', verb='GET', matches={ {match='', output='MS Project Server'} }})
+table.insert(fingerprints, { path='/protected/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/proxy/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/prueba/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/pruebas/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/prv/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/pub/', verb='GET', matches={ {match='', output='Public'} }})
+table.insert(fingerprints, { path='/publica/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/publicar/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/_public/', verb='GET', matches={ {match='', output='Public'} }})
+table.insert(fingerprints, { path='/public/', verb='GET', matches={ {match='', output='Public'} }})
+table.insert(fingerprints, { path='/publico/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/publish/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/PublishingImages/NewsArticleImage.jpg', verb='GET', matches={ {match='', output='MS Sharepoint'} }})
+table.insert(fingerprints, { path='/purchase/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/purchases/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/pw/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/python/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/random_banner/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/rdp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/Readme/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/recycler/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/registered/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/register/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/registry/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/remote/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/remove/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/report/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/reports/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/reseller/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/restricted/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/retail/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/reveal/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/reviews/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ROADS/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/robot/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/robots/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/robots.txt', verb='GET', matches={ {match='', output='Robots file'} }})
+table.insert(fingerprints, { path='/root/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/rrc.htm', verb='GET', matches={ {match='', output='Raritan Remote Client'} }})
+table.insert(fingerprints, { path='/rsrc/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/rss.aspx', verb='GET', matches={ {match='', output='RSS'} }})
+table.insert(fingerprints, { path='/rss/', verb='GET', matches={ {match='', output='RSS'} }})
+table.insert(fingerprints, { path='/rss.php', verb='GET', matches={ {match='', output='RSS'} }})
+table.insert(fingerprints, { path='/rss.xml', verb='GET', matches={ {match='', output='RSS'} }})
+table.insert(fingerprints, { path='/ruby/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/sales/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/sample/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/samples/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/save/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/scanweb/images/scanwebtm.gif', verb='GET', matches={ {match='', output='SCAN Web 5.8 (webcam manager)'} }})
+table.insert(fingerprints, { path='/script/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ScriptLibrary/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/scripts/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/search/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/search-ui/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/sec/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/secret/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/secured/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/secure/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/security/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/sell/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/server/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/server-info/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/servers/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/server_stats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/serverstats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/server-status/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/service/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/services/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/servicio/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/servicios/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/servlet/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/servlets/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/session/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/setup/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/shared/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/sharedtemplates/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/share/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/shell-cgi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/shipping/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/shop/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/shopper/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/show/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/SilverStream/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/siteadmin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/site/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/sitemgr/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/siteminderagent/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/siteminder/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/siteserver/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/sites/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/sitestats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/siteupdate/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/smreports/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/smreportsviewer/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/soapdocs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/soap/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/software/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/solaris/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/source/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/spControl.php', verb='GET', matches={ {match='', output='IBM Proventia Manager'} }})
+table.insert(fingerprints, { path='/sql/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/squid/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/src/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/srchadm/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ssi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ssl/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/sslkeys/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/staff/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/state/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/stat/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/statistic/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/statistics/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/stats-bin-p/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/stats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/stats_old/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/status/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/storage/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/StoreDB/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/store/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/storemgr/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/stronghold-info/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/stronghold-status/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/stuff/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/style/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/styles/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/stylesheet/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/stylesheets/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/subir/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/sun/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/super_stats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/supplier/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/suppliers/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/supply/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/supporter/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/support/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/.svn/', verb='GET', matches={ {match='', output='Subversion data'} }})
+table.insert(fingerprints, { path='/.svn/text-base/.htaccess.svn-base', verb='GET', matches={ {match='', output='Subversion data'} }})
+table.insert(fingerprints, { path='/.svn/text-base/.htpasswd.svn-base', verb='GET', matches={ {match='', output='Subversion data'} }})
+table.insert(fingerprints, { path='/.svn/text-base/Web.config.svn-base', verb='GET', matches={ {match='', output='Subversion data'} }})
+table.insert(fingerprints, { path='/sw/auth/login.aspx', verb='GET', matches={ {match='', output='Citrix WebTop'} }})
+table.insert(fingerprints, { path='/sysadmin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/sysbackup/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/sys/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/system/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/systems/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tar/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/target/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tarjetas/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tech/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/technote/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/te_html/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/temp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/template/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/templates/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/temporal/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/test.asp', verb='GET', matches={ {match='', output='Test'} }})
+table.insert(fingerprints, { path='/test-cgi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/test.class', verb='GET', matches={ {match='', output='Test'} }})
+table.insert(fingerprints, { path='/test/', verb='GET', matches={ {match='', output='Test'} }})
+table.insert(fingerprints, { path='/test.htm', verb='GET', matches={ {match='', output='Test'} }})
+table.insert(fingerprints, { path='/test.html', verb='GET', matches={ {match='', output='Test'} }})
+table.insert(fingerprints, { path='/testing/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/test.php', verb='GET', matches={ {match='', output='Test'} }})
+table.insert(fingerprints, { path='/tests/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/test.txt', verb='GET', matches={ {match='', output='Test'} }})
+table.insert(fingerprints, { path='/testweb/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/theme/images/en/login1.gif', verb='GET', matches={ {match='', output='Fortinet VPN/firewall'} }})
+table.insert(fingerprints, { path='/themes/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ticket/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tickets/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tip/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tips/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tmp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ToDo/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tool/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tools/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/TopAccess/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/TopAccess/images/RioGrande/Rio_PPC.gif', verb='GET', matches={ {match='', output='TopAccess Toshiba e-Studio520'} }})
+table.insert(fingerprints, { path='/top/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tpv/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/trabajo/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/track/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tracking/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/transfer/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/transito/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/transpolar/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tree/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/trees/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/trick/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/tricks/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/u02/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ui/', verb='GET', matches={ {match='', output='Virtual Center'} }})
+table.insert(fingerprints, { path='/ui/imx/vmwareLogo-16x16.png', verb='GET', matches={ {match='', output='VMware Virtual Infrastructure Web Access'} }})
+table.insert(fingerprints, { path='/ui/imx/vmwarePaperBagLogo-16x16.png', verb='GET', matches={ {match='', output='VMware Virtual Infrastructure Web Access'} }})
+table.insert(fingerprints, { path='/ui/vManage.do', verb='GET', matches={ {match='', output='VMware Virtual Infrastructure Web Access'} }})
+table.insert(fingerprints, { path='/unix/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/unknown/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/updates/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/upload/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/uploads/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/usage/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/userdb/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/user/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/users/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/us/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/usr/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/ustats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/usuario/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/usuarios/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/util/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/utils/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/vendor/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/vfs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/view/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/view/index.shtml', verb='GET', matches={ {match='', output='Axis 212 PTZ Network Camera 4.40'} }})
+table.insert(fingerprints, { path='/vmware/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/vmware/imx/vmware_boxes-16x16.png', verb='GET', matches={ {match='', output='Virtual Center'} }})
+table.insert(fingerprints, { path='/vpn/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/vpn/images/AccessGateway.ico', verb='GET', matches={ {match='', output='Citrix Access Gateway (VPN)'} }})
+table.insert(fingerprints, { path='/_vti_bin/', verb='GET', matches={ {match='', output='FrontPage directory'} }})
+table.insert(fingerprints, { path='/_vti_cnf/', verb='GET', matches={ {match='', output='FrontPage directory'} }})
+table.insert(fingerprints, { path='/_vti_log/', verb='GET', matches={ {match='', output='FrontPage directory'} }})
+table.insert(fingerprints, { path='/_vti_pvt/', verb='GET', matches={ {match='', output='FrontPage directory'} }})
+table.insert(fingerprints, { path='/_vti_txt/', verb='GET', matches={ {match='', output='FrontPage directory'} }})
+table.insert(fingerprints, { path='/vti_txt/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/w2000/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/w2k/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/w3perl/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/w-agora/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/way-board/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/web800fo/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webaccess/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webadmin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webAdmin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webalizer/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webapps/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/WebBank/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webboard/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/WebCalendar/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webcart/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webcart-lite/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webcgi/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webdata/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webdav/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webdb/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webDB/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/web/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webimages2/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webimages/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/web-inf/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/weblog/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/weblogs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webmail/', verb='GET', matches={ {match='', output='Mail directory'} }})
+table.insert(fingerprints, { path='/webmaster/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webmaster_logs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webMathematica/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webpub/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webpub-ui/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webreports/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webreps/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webshare/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/WebShop/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/website/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webstat/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webstats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/Web_store/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webtrace/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/WebTrend/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/webtrends/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/web_usage/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/wiki/', verb='GET', matches={ {match='', output='Wiki'} }})
+table.insert(fingerprints, { path='/win2k/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/window/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/windows/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/win/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/winnt/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/word/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/wordpress/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/work/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/world/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/wsdocs/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/WS_FTP/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/wstats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/wusage/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/www0/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/www2/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/www3/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/www4/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/www/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/wwwjoin/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/wwwlog/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/wwwrooot/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/www-sql/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/wwwstat/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/wwwstats/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/xGB/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/x_logo.gif', verb='GET', matches={ {match='', output='Xerox Phaser Printer'} }})
+table.insert(fingerprints, { path='/xml/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/XSL/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/xtemp/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/xymon/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/xymon/menu/menu.css', verb='GET', matches={ {match='', output='Xymon'} }})
+table.insert(fingerprints, { path='/zb41/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/zipfiles/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+table.insert(fingerprints, { path='/zip/', verb='GET', matches={ {match='', output='Potentially interesting folder'} }})
+
diff --git a/nselib/data/http-folders.txt b/nselib/data/http-folders.txt
new file mode 100644
index 000000000..996cc4898
--- /dev/null
+++ b/nselib/data/http-folders.txt
@@ -0,0 +1,954 @@
+/1/
+/2/
+/3/
+/4/
+/5/
+/6/
+/7/
+/8/
+/9/
+/10/
+/a/
+/acceso/
+/access/
+/accesswatch/
+/acciones/
+/account/
+/accounting/
+/active/
+/activex/
+/adm/
+/admcgi/
+/admentor/
+/admin/
+/admin/
+/admin_/
+/admin.back/
+/admin-bak/
+/Admin_files/
+/administration/
+/administrator/
+/admin-old/
+/adminuser/
+/adminweb/
+/adminWeb/
+/admisapi/
+/AdvWebAdmin/
+/Agent/
+/agentes/
+/Agents/
+/Album/
+/AlbumArt/
+/AlbumArt_/
+/allow/
+/analog/
+/anthill/
+/apache/
+/app/
+/appl/
+/applets/
+/application/
+/applications/
+/applmgr/
+/apply/
+/apps/
+/appsec/
+/ar/
+/archive/
+/archive/
+/archives/
+/arcsight/
+/asa/
+/asp/
+/atc/
+/atom/
+/aut/
+/auth/
+/authadmin/
+/author/
+/authors/
+/aw/
+/ayuda/
+/b/
+/b2-include/
+/back/
+/backend/
+/backup/
+/backup/
+/backups/
+/bad/
+/bak/
+/bak/
+/banca/
+/banco/
+/bank/
+/banner/
+/banner01/
+/banners/
+/bar/
+/batch/
+/bb-dnbd/
+/bbv/
+/bdata/
+/bdatos/
+/beef/
+/beta/
+/beta/
+/billpay/
+/bin/
+/bin/
+/bin/
+/binaries/
+/binary/
+/blog/
+/boadmin/
+/boot/
+/bottom/
+/browse/
+/browser/
+/bsd/
+/btauxdir/
+/bug/
+/bugs/
+/bugzilla/
+/buy/
+/buynow/
+/c/
+/cache/
+/cached/
+/cache-stats/
+/caja/
+/card/
+/cards/
+/cart/
+/cash/
+/caspsamp/
+/catalog/
+/cbi-bin/
+/ccard/
+/ccards/
+/cd/
+/cd-cgi/
+/cdrom/
+/ce_html/
+/cert/
+/certificado/
+/certificate/
+/cfappman/
+/cfdocs/
+/cfide/
+/cgi/
+/cgi/
+/cgi-914/
+/cgi-915/
+/cgi-auth/
+/cgibin/
+/cgibin/
+/cgi-bin/
+/cgi-bin/
+/cgi-bin/
+/cgi-bin2/
+/cgi.cgi/
+/cgi-csc/
+/cgi-exe/
+/cgi-home/
+/cgilib/
+/cgi-lib/
+/cgi-local/
+/cgi-local/
+/cgi-perl/
+/cgis/
+/cgis/
+/cgiscripts/
+/cgi-scripts/
+/cgi-shl/
+/cgi-shop/
+/cgi-sys/
+/cgi-sys/
+/cgi-weddico/
+/cgiwin/
+/cgi-win/
+/cgi-win/
+/Citrix/
+/class/
+/classes/
+/classes/
+/client/
+/cliente/
+/clientes/
+/clients/
+/cm/
+/cmsample/
+/cobalt-images/
+/code/
+/com/
+/comments/
+/common/
+/communicator/
+/comp/
+/company/
+/compra/
+/compras/
+/compressed/
+/conecta/
+/conf/
+/config/
+/config/
+/configs/
+/configure/
+/connect/
+/console/
+/contact/
+/contacts/
+/content/
+/content.ie5/
+/controlpanel/
+/core/
+/corp/
+/correo/
+/counter/
+/credit/
+/cron/
+/crons/
+/crypto/
+/CS/
+/csr/
+/css/
+/css/
+/cuenta/
+/cuentas/
+/currency/
+/cust/
+/custom/
+/customer/
+/customers/
+/CVS/
+/cvsweb/
+/cybercash/
+/d/
+/darkportal/
+/dat/
+/data/
+/data/
+/database/
+/databases/
+/datafiles/
+/dato/
+/datos/
+/db/
+/db/
+/dbase/
+/dcforum/
+/ddreport/
+/ddrint/
+/debug/
+/debugs/
+/default/
+/delete/
+/deleted/
+/demo/
+/demo/
+/demoauct/
+/demomall/
+/demos/
+/demouser/
+/deny/
+/derived/
+/design/
+/dev/
+/dev/
+/devel/
+/development/
+/dir/
+/directories/
+/directory/
+/directorymanager/
+/dl/
+/dm/
+/DMR/
+/dms/
+/dms0/
+/dmsdump/
+/dnn/
+/doc/
+/doc1/
+/doc-html/
+/docs/
+/docs1/
+/DocuColor/
+/document/
+/documentation/
+/documents/
+/dotnetnuke/
+/down/
+/download/
+/downloads/
+/downloads/
+/dump/
+/durep/
+/e/
+/easylog/
+/eforum/
+/ejemplo/
+/ejemplos/
+/email/
+/emailclass/
+/employees/
+/empoyees/
+/empris/
+/enter/
+/envia/
+/enviamail/
+/error/
+/errors/
+/es/
+/estmt/
+/etc/
+/etcpasswd/
+/example/
+/examples/
+/exc/
+/excel/
+/exchange/
+/exchweb/
+/exe/
+/exec/
+/exit/
+/export/
+/external/
+/extranet/
+/f/
+/failure/
+/fbsd/
+/fcgi/
+/fcgi-bin/
+/fcgi-bin/
+/features/
+/file/
+/fileadmin/
+/filemanager/
+/files/
+/find/
+/flash/
+/foldoc/
+/foo/
+/foobar/
+/form/
+/forms/
+/formsmgr/
+/form-totaller/
+/forum/
+/forum/
+/forum/
+/forums/
+/forums/
+/foto/
+/fotos/
+/fpadmin/
+/fpclass/
+/fpdb/
+/fpe/
+/fpsample/
+/frames/
+/framesets/
+/frontpage/
+/ftp/
+/ftproot/
+/fun/
+/func/
+/function/
+/functions/
+/g/
+/general/
+/gfx/
+/gif/
+/gifs/
+/global/
+/globals/
+/good/
+/graphics/
+/grocery/
+/guest/
+/guestbook/
+/guests/
+/GXApp/
+/h/
+/HB/
+/HBTemplates/
+/help/
+/helpdesk/
+/hidden/
+/hide/
+/hitmatic/
+/hit_tracker/
+/hlstats/
+/home/
+/host/
+/hosted/
+/hosting/
+/hostingcontroller/
+/hp/
+/ht/
+/htbin/
+/htbin/
+/htdocs/
+/htm/
+/html/
+/http/
+/https/
+/hyperstat/
+/I/
+/i18n/
+/ibank/
+/ibill/
+/IBMWebAS/
+/icons/
+/icons/
+/idea/
+/ideas/
+/iisadmin/
+/iissamples/
+/iissamples/
+/image/
+/imagenes/
+/imagery/
+/images/
+/images/
+/img/
+/imp/
+/import/
+/impreso/
+/in/
+/inc/
+/include/
+/includes/
+/includes/
+/incoming/
+/incoming/
+/index/
+/inet/
+/inf/
+/info/
+/information/
+/ingresa/
+/ingreso/
+/install/
+/install/
+/internal/
+/internet/
+/intranet/
+/intranet/
+/intranet/
+/inventory/
+/invitado/
+/isapi/
+/j/
+/j2ee/
+/j2eeexamples/
+/j2eeexamplesjsp/
+/japidoc/
+/java/
+/javascript/
+/javasdk/
+/javatest/
+/jave/
+/JBookIt/
+/jdbc/
+/job/
+/jrun/
+/js/
+/jsa/
+/jscript/
+/jserv/
+/jslib/
+/jsp/
+/junk/
+/k/
+/kiva/
+/known/
+/l/
+/labs/
+/lcgi/
+/lib/
+/libraries/
+/library/
+/libro/
+/license/
+/licenses/
+/links/
+/linux/
+/loader/
+/local/
+/location/
+/locations/
+/log/
+/logfile/
+/logfiles/
+/logg/
+/logger/
+/logger/
+/logging/
+/login/
+/login/
+/logon/
+/logout/
+/logs/
+/logs/
+/lost+found/
+/m/
+/mail/
+/mail/
+/mail_log_files/
+/mailman/
+/mailroot/
+/makefile/
+/mall_log_files/
+/man/
+/manage/
+/management/
+/manager/
+/manual/
+/manual/
+/map/
+/maps/
+/marketing/
+/mediawiki/
+/mem/
+/member/
+/member/
+/members/
+/members/
+/mem_bin/
+/message/
+/messaging/
+/metacart/
+/microsoft/
+/misc/
+/mkstats/
+/mod/
+/module/
+/modules/
+/modules/
+/movimientos/
+/mpcgi/
+/mqseries/
+/ms/
+/msfpe/
+/msql/
+/Msword/
+/mxhtml/
+/mxportal/
+/my/
+/My Shared Folder/
+/mysql/
+/mysql_admin/
+/n/
+/name/
+/names/
+/ncadmin/
+/nchelp/
+/ncsample/
+/net/
+/netbasic/
+/netcat/
+/NetDynamic/
+/NetDynamics/
+/netmagstats/
+/netscape/
+/netshare/
+/nettracker/
+/network/
+/network/
+/new/
+/news/
+/News/
+/nextgeneration/
+/nl/
+/notes/
+/noticias/
+/NSearch/
+/o/
+/objects/
+/odbc/
+/officescan/
+/ojspdemos/
+/old/
+/oldfiles/
+/old_files/
+/oprocmgr-service/
+/oprocmgr-status/
+/oracle/
+/oradata/
+/order/
+/orders/
+/os/
+/out/
+/outgoing/
+/owa/
+/owners/
+/ows-bin/
+/p/
+/page/
+/pages/
+/_pages/
+/partner/
+/partners/
+/passport/
+/password/
+/passwords/
+/path/
+/payment/
+/payments/
+/pccsmysqladm/
+/PDG_Cart/
+/perl/
+/perl5/
+/personal/
+/pforum/
+/phorum/
+/php/
+/phpBB/
+/phpBB/
+/php_classes/
+/phpclassifieds/
+/phpimageview/
+/phpmyadmin/
+/phpmyadmin/
+/phpMyAdmin/
+/phpMyAdmin/
+/phpMyAdmin/
+/phpnuke/
+/phpPhotoAlbum/
+/phpprojekt/
+/phpSecurePages/
+/pics/
+/pictures/
+/pike/
+/piranha/
+/pls/
+/pls/
+/plsql/
+/plssample/
+/plssampleadmin/
+/plssampleadmin_/
+/plssampleadmin_help/
+/poll/
+/polls/
+/porn/
+/portal/
+/portals/
+/postgres/
+/postnuke/
+/ppwb/
+/printer/
+/printers/
+/priv/
+/privacy/
+/privado/
+/private/
+/private/
+/_private/
+/prod/
+/projectserver/
+/protected/
+/protected/
+/proxy/
+/prueba/
+/pruebas/
+/prv/
+/pub/
+/pub/
+/public/
+/public/
+/_public/
+/publica/
+/publicar/
+/publico/
+/publish/
+/purchase/
+/purchases/
+/pw/
+/python/
+/q/
+/r/
+/random_banner/
+/rdp/
+/Readme/
+/recycler/
+/register/
+/registered/
+/registry/
+/remote/
+/remove/
+/report/
+/reports/
+/reseller/
+/restricted/
+/restricted/
+/retail/
+/reveal/
+/reviews/
+/ROADS/
+/robot/
+/robots/
+/root/
+/rsrc/
+/rss/
+/ruby/
+/s/
+/sales/
+/sample/
+/samples/
+/save/
+/script/
+/ScriptLibrary/
+/scripts/
+/scripts/
+/search/
+/search-ui/
+/sec/
+/secret/
+/secure/
+/secure/
+/secured/
+/security/
+/sell/
+/server/
+/server-info/
+/servers/
+/serverstats/
+/server_stats/
+/server-status/
+/service/
+/services/
+/servicio/
+/servicios/
+/servlet/
+/servlets/
+/session/
+/setup/
+/share/
+/shared/
+/sharedtemplates/
+/shell-cgi/
+/shipping/
+/shop/
+/shopper/
+/show/
+/SilverStream/
+/site/
+/siteadmin/
+/sitemgr/
+/siteminder/
+/siteminderagent/
+/sites/
+/siteserver/
+/sitestats/
+/siteupdate/
+/smreports/
+/smreportsviewer/
+/soap/
+/soapdocs/
+/software/
+/solaris/
+/source/
+/sql/
+/squid/
+/src/
+/srchadm/
+/ssi/
+/ssl/
+/sslkeys/
+/staff/
+/stat/
+/state/
+/statistic/
+/statistics/
+/stats/
+/stats-bin-p/
+/stats_old/
+/status/
+/storage/
+/store/
+/StoreDB/
+/storemgr/
+/stronghold-info/
+/stronghold-status/
+/stuff/
+/style/
+/styles/
+/stylesheet/
+/stylesheets/
+/subir/
+/sun/
+/super_stats/
+/supplier/
+/suppliers/
+/supply/
+/support/
+/supporter/
+/.svn/
+/sys/
+/sysadmin/
+/sysbackup/
+/system/
+/systems/
+/t/
+/tar/
+/target/
+/tarjetas/
+/tech/
+/technote/
+/te_html/
+/temp/
+/template/
+/templates/
+/temporal/
+/test/
+/test/
+/test-cgi/
+/testing/
+/tests/
+/testweb/
+/themes/
+/ticket/
+/tickets/
+/tip/
+/tips/
+/tmp/
+/tmp/
+/ToDo/
+/tool/
+/tools/
+/top/
+/TopAccess/
+/tpv/
+/trabajo/
+/track/
+/tracking/
+/transfer/
+/transito/
+/transpolar/
+/tree/
+/trees/
+/trick/
+/tricks/
+/u/
+/u02/
+/ui/
+/unix/
+/unknown/
+/updates/
+/upload/
+/uploads/
+/us/
+/usage/
+/user/
+/userdb/
+/users/
+/usr/
+/ustats/
+/usuario/
+/usuarios/
+/util/
+/utils/
+/v/
+/vendor/
+/vfs/
+/view/
+/vmware/
+/vpn/
+/_vti_bin/
+/vti_bin/
+/vti_bot/
+/_vti_cnf/
+/_vti_log/
+/vti_log/
+/_vti_pvt/
+/vti_pvt/
+/vti_shm/
+/_vti_txt/
+/vti_txt/
+/w/
+/w2000/
+/w2k/
+/w3perl/
+/w-agora/
+/way-board/
+/web/
+/web800fo/
+/webaccess/
+/webadmin/
+/webadmin/
+/webAdmin/
+/webalizer/
+/webapps/
+/WebBank/
+/webboard/
+/WebCalendar/
+/webcart/
+/webcart-lite/
+/webcgi/
+/webdata/
+/webdav/
+/webdb/
+/webDB/
+/webimages/
+/webimages2/
+/web-inf/
+/weblog/
+/weblogs/
+/webmail/
+/webmaster/
+/webmaster_logs/
+/webMathematica/
+/webpub/
+/webpub-ui/
+/webreports/
+/webreps/
+/webshare/
+/WebShop/
+/website/
+/webstat/
+/webstats/
+/Web_store/
+/webtrace/
+/WebTrend/
+/webtrends/
+/web_usage/
+/wiki/
+/win/
+/win2k/
+/window/
+/windows/
+/winnt/
+/word/
+/wordpress/
+/work/
+/world/
+/wsdocs/
+/WS_FTP/
+/wstats/
+/wusage/
+/www/
+/www0/
+/www2/
+/www3/
+/www4/
+/wwwjoin/
+/wwwlog/
+/wwwrooot/
+/www-sql/
+/wwwstat/
+/wwwstats/
+/x/
+/xGB/
+/xml/
+/XSL/
+/xtemp/
+/xymon/
+/y/
+/z/
+/zb41/
+/zip/
+/zipfiles/
diff --git a/nselib/data/yokoso-fingerprints b/nselib/data/yokoso-fingerprints
deleted file mode 100644
index f5cb715d4..000000000
--- a/nselib/data/yokoso-fingerprints
+++ /dev/null
@@ -1,253 +0,0 @@
-# Yokoso! Fingerprints v. 0.1
-######################################################
-#
-# The following list is the actual fingerprint file
-# for Yokoso!. It is designed to be used within your
-# scripts. All lines that do not begin with a # are
-# the URI fingerprints.
-#
-#
-# Included in the Nmap release under the Nmap license with permission from
-# Kevin Johnson.
-# See: http://seclists.org/nmap-dev/2009/q3/0685.html
-
-# HP Integrated Lights Out
-# Pre-Auth
-/ilo.gif
-
-# Post-Auth
-/ie_index.htm
-
-# MS Project Server
-# Pre-Auth
-/projectserver/images/branding.gif
-/projectserver/images/pgHome.gif
-/projectserver/images/pgTask.gif
-
-# Post-Auth
-/projectserver/Tasks/Taskspage.asp
-/projectserver/Home/HomePage.asp
-
-# Citrix WebTop
-# Pre-Auth
-/sw/auth/login.aspx
-/images/ctxHeader01.jpg
-/images/Safeword_Token.jpg
-
-# Outlook Web Access
-# Pre-Auth
-/images/outlook.jpg
-/exchweb/bin/auth/owalogon.asp
-/owa/8.1.375.2/themes/base/lgntopl.gif
-
-# MS Sharepoint
-/_layouts/images/helpicon.gif
-/PublishingImages/NewsArticleImage.jpg
-/Pages/Default.aspx
-
-# HP Insight Manager
-/mxhtml/images/signin_logo.gif
-/mxportal/home/MxPortalFrames.jsp
-/mxhtml/images/status_critical_15.gif
-/mxportal/home/en_US/servicetools.gif
-
-# Virtual Center
-/client/VMware-viclient.exe
-/ui/
-/vmware/imx/vmware_boxes-16x16.png
-
-# TopAccess Toshiba e-Studio520
-/Default?MAIN=DEVICE
-/TopAccess/images/RioGrande/Rio_PPC.gif
-
-# Lexmark T632
-/printer/image
-/images/lexbold.gif
-
-# Lexmark C772
-/images/lexlogo.gif
-/images/printer.gif
-
-# HP Blade Enclosure
-/images/icon_server_connected.gif
-
-# HP System Management Homepage v2.0.2.106
-/cpqlogin.htm?RedirectUrl=/&RedirectQueryString=
-/hplogo.gif
-
-# Cisco SDM
-/archive/flash:home/html/images/Cisco_logo.gif
-
-# netForensics
-/nfdesktop.jnlp
-/nfservlets/servlet/SPSRouterServlet/
-/jwsappmngr.jnlp
-# Cisco SDM
-/archive/flash:home/html/images/Cisco_logo.gif
-
-# netForensics
-/nfdesktop.jnlp
-/nfservlets/servlet/SPSRouterServlet/
-/jwsappmngr.jnlp
-
-# Secunia NSI
-# Pre-Auth
-/gfx/new_logo.gif
-/gfx/form_top_left_corner.gif
-/javascript/sorttable.js
-
-# Post-Auth
-/gfx/logout_24.png
-
-
-# Foundstone Enterprise
-# Pre-Auth
-/i18n/EN/css/foundstone.css
-
-# Post-Auth
-/i18n/EN/images/external_nav_square.gif
-
-
-# Trend Micro OfficeScan Server
-# Pre-Auth
-/officescan/console/html/cgi/cgiChkMasterPwd.exe
-
-# Post-Auth
-/officescan/console/html/images/icon_refresh.gif
-
-
-# Trend Micro OfficeScan Server Client Install
-/officescan/console/html/ClientInstall/officescannt.htm
-
-
-# ArcSight Collector Appliance
-# Pre-Auth
-/images/logo-arcsight.gif
-
-# Post-Auth
-/logger/monitor.ftl
-
-
-# ArcSight Web
-# Pre-Auth
-/arcsight/images/logo-login-arcsight.gif
-
-# Post-Auth
-/arcsight/images/navbar-icon-logout-on.gif
-
-# BlueCoat Reporter
-# Pre-Auth
-/picts/BC_bwlogorev.gif
-
-# Post-Auth
-/picts/menu_leaf.gif
-
-
-# IBM Proventia Deployment Manager (SiteProtector)
-/images/isslogo.gif
-/deploymentmanager/
-
-
-# IBM Proventia Manager
-/spControl.php
-
-# IBM Proventia GX4002
-/images/hdr_icon_homeG.gif
-/images/btn_help_nml.gif
-
-
-# VMware Virtual Infrastructure Web Access
-# Pre-Auth
-/ui/imx/vmwareLogo-16x16.png
-/en/welcomeRes.js
-
-# Post-Auth
-/ui/vManage.do
-/ui/imx/vmwarePaperBagLogo-16x16.png
-
-
-# HP LaserJet Printer
-# Pre-Auth
-/hp/device/this.LCDispatcher
-
-
-# HP LaserJet 4000 series
-/PageSelector.class
-
-
-# HP DesignJet T1100ps 44in
-/hp/device/webAccess/index.htm
-
-
-# HP DesignJet 1055CM
-/gif/hp.gif
-/gif/printer.gif
-/gif/hp_invent_logo.gif
-
-# Xerox Phaser Printer
-/x_logo.gif
-
-
-# Citrix MetaFrame
-# Pre-Auth
-/Citrix/MetaFrame/auth/login.aspx
-
-
-# Citrix Access Gateway (VPN)
-# Pre-Auth
-/vpn/images/AccessGateway.ico
-
-
-# NEC Projector
-/images/pic_bri.gif
-/images/mute_alloff.gif
-
-
-# Fortinet VPN/firewall
-# Pre-Auth
-/theme/images/en/login1.gif
-
-
-# AXIS StorPoint CD100
-/config/public/usergrp.gif
-
-# AXIS StorPoint CD E100
-/pictures/buttons/file_view_mark.gif
-
-
-# SCAN Web 5.8 (webcam manager)
-/scanweb/images/scanwebtm.gif
-
-
-# Axis 212 PTZ Network Camera 4.40
-# Pre-Auth
-/view/index.shtml
-
-
-# TeraStation PRO RAID 0/1/5 Network Attached Storage
-# Pre-Auth
-/cgi-bin/image/shikaku2.png
-
-
-# Lotus Domino
-# Pre-Auth
-/homepage.nsf/homePage.gif?OpenImageResource
-/icons/ecblank.gif
-
-
-# NetworkAppliance NetApp Release 6.5.3P4
-# Pre-Auth
-/na_admin/styles/dfm.css
-
-# Xymon
-/xymon/menu/menu.css
-
-# BeEF Browser Exploitation Framework
-/beef/images/beef.gif
-
-# Raritan Remote Client
-/rrc.htm
-
-# Oracle Web Server
-/footer1.gif
-
diff --git a/nselib/http.lua b/nselib/http.lua
index 3ce3ab679..21240ad3e 100644
--- a/nselib/http.lua
+++ b/nselib/http.lua
@@ -80,19 +80,9 @@ local function table_augment(to, from)
end
end
---- Get a suitable hostname string from the argument, which may be either a
--- string or a host table.
-local function get_hostname(host)
- if type(host) == "table" then
- return host.targetname or ( host.name ~= '' and host.name ) or host.ip
- else
- return host
- end
-end
-
--- Get a value suitable for the Host header field.
local function get_host_field(host, port)
- local hostname = get_hostname(host)
+ local hostname = stdnse.get_hostname(host)
local portno
if port == nil then
portno = 80
@@ -789,7 +779,7 @@ local function lookup_cache (method, host, port, path, options)
if type(port) == "table" then port = port.number end
- local key = get_hostname(host)..":"..port..":"..path;
+ local key = stdnse.get_hostname(host)..":"..port..":"..path;
local mutex = nmap.mutex(tostring(lookup_cache)..key);
local state = {
@@ -876,7 +866,7 @@ end
-- Return true if the given method requires a body in the request. In case no
-- body was supplied we must send "Content-Length: 0".
local function request_method_needs_content_length(method)
- return method == "POST"
+ return method == "POST"
end
-- For each of the following request functions, host may either be
@@ -940,8 +930,8 @@ local build_request = function(host, port, method, path, options)
mod_options.header["Content-Type"] = "application/x-www-form-urlencoded"
elseif options.content then
body = options.content
- elseif request_method_needs_content_length(method) then
- body = ""
+ elseif request_method_needs_content_length(method) then
+ body = ""
end
if body then
mod_options.header["Content-Length"] = #body
@@ -1136,6 +1126,32 @@ post = function( host, port, path, options, ignored, postdata )
return generic_request(host, port, "POST", path, mod_options)
end
+--- Builds a request to be used in a pipeline
+--
+-- @param host The host to query.
+-- @param port The port for the host.
+-- @param path The path of the resource.
+-- @param options A table of options, as with http.generic_request.
+-- @param ignored Ignored for backwards compatibility.
+-- @param allReqs A table with all the pipeline requests
+-- @param verb The HTTP verb (GET, POST, HEAD, etc)
+-- @return Table with the pipeline get requests (plus this new one)
+function addPipeline(host, port, path, options, ignored, allReqs, verb)
+ allReqs = allReqs or {}
+ local mod_options = {
+ header = {
+ ["Connection"] = "keep-alive"
+ }
+ }
+ table_augment(mod_options, options or {})
+ -- This value is intended to be unpacked into arguments to build_request.
+ local object = { host, port, verb, path, mod_options }
+ object.method = object[3]
+ object.options = object[5]
+ allReqs[#allReqs + 1] = object
+ return allReqs
+end
+
--- Builds a get request to be used in a pipeline request
--
-- @param host The host to query.
@@ -1146,19 +1162,7 @@ end
-- @param allReqs A table with all the pipeline requests
-- @return Table with the pipeline get requests (plus this new one)
function pGet( host, port, path, options, ignored, allReqs )
- allReqs = allReqs or {}
- local mod_options = {
- header = {
- ["Connection"] = "keep-alive"
- }
- }
- table_augment(mod_options, options or {})
- -- This value is intended to be unpacked into arguments to build_request.
- local object = { host, port, "GET", path, mod_options }
- object.method = object[3]
- object.options = object[5]
- allReqs[#allReqs + 1] = object
- return allReqs
+ return addPipeline(host, port, path, options, ignored, allReqs, 'GET')
end
--- Builds a Head request to be used in a pipeline request
@@ -1171,22 +1175,10 @@ end
-- @param allReqs A table with all the pipeline requests
-- @return Table with the pipeline get requests (plus this new one)
function pHead( host, port, path, options, ignored, allReqs )
- allReqs = allReqs or {}
- local mod_options = {
- header = {
- ["Connection"] = "keep-alive"
- }
- }
- table_augment(mod_options, options or {})
- -- This value is intended to be unpacked into arguments to build_request.
- local object = { host, port, "HEAD", path, mod_options }
- object.method = object[3]
- object.options = object[5]
- allReqs[#allReqs + 1] = object
- return allReqs
+ return addPipeline(host, port, path, options, ignored, allReqs, 'HEAD')
end
---- Performs pipelined that are in allReqs to the resource. Return an array of
+---Performs pipelined that are in allReqs to the resource. Return an array of
-- response tables.
--
-- @param host The host to query.
@@ -1518,7 +1510,7 @@ function get_status_string(data)
end
end
---- Determine whether or not the server supports HEAD by requesting / and
+---Determine whether or not the server supports HEAD by requesting / and
-- verifying that it returns 200, and doesn't return data. We implement the
-- check like this because can't always rely on OPTIONS to tell the truth.
--
@@ -1662,7 +1654,7 @@ local function clean_404(body)
return body
end
---- Try requesting a non-existent file to determine how the server responds to
+---Try requesting a non-existent file to determine how the server responds to
-- unknown pages ("404 pages"), which a) tells us what to expect when a
-- non-existent page is requested, and b) tells us if the server will be
-- impossible to scan. If the server responds with a 404 status code, as it is
@@ -1682,9 +1674,9 @@ end
--
-- @param host The host object.
-- @param port The port to which we are establishing the connection.
--- @return (status, result, body) If status is false, result is an error
--- message. Otherwise, result is the code to expect and body is the cleaned-up
--- body (or a hash of the cleaned-up body).
+-- @return status Did we succeed?
+-- @return result If status is false, result is an error message. Otherwise, it's the code to expect (typically, but not necessarily, '404').
+-- @return body Body is a hash of the cleaned-up body that can be used when detecting a 404 page that doesn't return a 404 error code.
function identify_404(host, port)
local data
local bad_responses = { 301, 302, 400, 401, 403, 499, 501, 503 }
@@ -1769,7 +1761,6 @@ function identify_404(host, port)
end
stdnse.print_debug(1, "Unexpected response returned for 404 check: %s", get_status_string(data))
--- io.write("\n\n" .. nsedebug.tostr(data) .. "\n\n")
return true, data.status
end
@@ -1820,7 +1811,7 @@ function page_exists(data, result_404, known_404, page, displayall)
if(data.status == 401) then -- "Authentication Required"
return true
- elseif(displayall == true or displayall == '1' or displayall == "true") then
+ elseif(displayall) then
return true
end
@@ -1836,6 +1827,210 @@ function page_exists(data, result_404, known_404, page, displayall)
end
end
+---Check if the response variable, which could be a return from a http.get, http.post, http.pipeline,
+-- etc, contains the given text. The text can be:
+-- * Part of a header ('content-type', 'text/html', '200 OK', etc)
+-- * An entire header ('Content-type: text/html', 'Content-length: 123', etc)
+-- * Part of the body
+--
+-- The search text is treated as a Lua pattern.
+--
+--@param response The full response table from a HTTP request.
+--@param pattern The pattern we're searching for. Don't forget to escape '-', for example, 'Content%-type'.
+-- the pattern can also contain captures, like 'abc(.*)def', which will be returned if successful.
+--@param case_sensitive [optional] Set to true for case-sensitive searches. Default: not case sensitive.
+--@return result True if the string matched, false otherwise
+--@return matches An array of captures from the match, if any
+function response_contains(response, pattern, case_sensitive)
+
+ local result, _
+ local m = {}
+
+ -- If they're searching for the empty string or nil, it's true
+ if(pattern == '' or pattern == nil) then
+ return true
+ end
+
+ -- Create a function that either lowercases everything or doesn't, depending on case sensitivity
+ local case = function(pattern) return string.lower(pattern or '') end
+ if(case_sensitive == true) then
+ case = function(pattern) return (pattern or '') end
+ end
+
+ -- Set the case of the pattern
+ pattern = case(pattern)
+
+ -- Check the status line (eg, 'HTTP/1.1 200 OK')
+ result, _, m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], m[9] = string.find(case(response['status-line']), pattern)
+ if(result) then
+ return true, m
+ end
+
+ -- Check the headers
+ for _, header in pairs(response['rawheader']) do
+ result, _, m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], m[9] = string.find(case(header), pattern)
+ if(result) then
+ return true, m
+ end
+ end
+
+ -- Check the body
+ result, _, m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], m[9] = string.find(case(response['body']), pattern)
+ if(result) then
+ return true, m
+ end
+
+ return false
+end
+
+---Take a URI or URL in any form and convert it to its component parts. The URL can optionally
+-- have a protocol definition ('http://'), a server ('scanme.insecure.org'), a port (':80'), a
+-- URI ('/test/file.php'), and a query string ('?username=ron&password=turtle'). At the minimum,
+-- a path or protocol and url are required.
+--
+--@param url The incoming URL to parse
+--@return result A table containing the result, which can have the following fields: protocol,
+-- hostname, port, uri, querystring. All fields are strings except querystring,
+-- which is a table containing name=value pairs.
+function parse_url(url)
+ local result = {}
+
+ -- Split the protocol off, if it exists
+ local colonslashslash = string.find(url, '://')
+ if(colonslashslash) then
+ result['protocol'] = string.sub(url, 1, colonslashslash - 1)
+ url = string.sub(url, colonslashslash + 3)
+ end
+
+ -- Split the host:port from the path
+ local slash, host_port
+ slash = string.find(url, '/')
+ if(slash) then
+ host_port = string.sub(url, 1, slash - 1)
+ result['path_query'] = string.sub(url, slash)
+ else
+ -- If there's no slash, then it's just a URL (if it has a http://) or a path (if it doesn't)
+ if(result['protocol']) then
+ result['host_port'] = url
+ else
+ result['path_query'] = url
+ end
+ end
+ if(host_port == '') then
+ host_port = nil
+ end
+
+ -- Split the host and port apart, if possible
+ if(host_port) then
+ local colon = string.find(host_port, ':')
+ if(colon) then
+ result['host'] = string.sub(host_port, 1, colon - 1)
+ result['port'] = tonumber(string.sub(host_port, colon + 1))
+ else
+ result['host'] = host_port
+ end
+ end
+
+ -- Split the path and querystring apart
+ if(result['path_query']) then
+ local question = string.find(result['path_query'], '?')
+ if(question) then
+ result['path'] = string.sub(result['path_query'], 1, question - 1)
+ result['raw_querystring'] = string.sub(result['path_query'], question + 1)
+ else
+ result['path'] = result['path_query']
+ end
+
+ -- Split up the query, if necessary
+ if(result['raw_querystring']) then
+ result['querystring'] = {}
+ local values = stdnse.strsplit('&', result['raw_querystring'])
+ for i, v in ipairs(values) do
+ local name, value = unpack(stdnse.strsplit('=', v))
+ result['querystring'][name] = value
+ end
+ end
+
+ -- Get the extension of the file, if any, or set that it's a folder
+ if(string.match(result['path'], "/$")) then
+ result['is_folder'] = true
+ else
+ result['is_folder'] = false
+ local split_str = stdnse.strsplit('%.', result['path'])
+ if(split_str and #split_str > 0) then
+ result['extension'] = split_str[#split_str]
+ end
+ end
+ end
+
+ return result
+end
+
+---This function should be called whenever a valid path (a path that doesn't contain a known
+-- 404 page) is discovered. It will add the path to the registry in several ways, allowing
+-- other scripts to take advantage of it in interesting ways.
+function save_path(host, port, path, status)
+ -- Make sure we have a proper hostname and port
+ host = stdnse.get_hostname(host)
+ if(type(port) == 'table') then
+ port = port.number
+ end
+
+ -- Parse the path
+ local parsed = parse_url(path)
+
+ -- Check if we already have the page saved with these arguments
+ local old_queries = stdnse.registry_get({parsed['host'] or host, 'www', parsed['port'] or port, 'all_pages_full_query'})
+ if(old_queries) then
+ for _, query in ipairs(old_queries) do
+ if(query == parsed['path_query']) then
+ return
+ end
+ end
+ end
+
+ -- Add to the 'all_pages' key
+ stdnse.registry_add_array({parsed['host'] or host, 'www', parsed['port'] or port, 'all_pages'}, parsed['path'])
+
+ -- Add the URL with querystring to all_pages_full_query
+ stdnse.registry_add_array({parsed['host'] or host, 'www', parsed['port'] or port, 'all_pages_full_query'}, parsed['path_query'])
+
+ -- Add the URL to a key matching the response code
+ if(status) then
+ stdnse.registry_add_array({parsed['host'] or host, 'www', parsed['port'] or port, 'status_codes', status}, parsed['path'])
+ end
+
+ -- If it's a directory, add it to the directories list; otherwise, add it to the files list
+ if(parsed['is_folder']) then
+ stdnse.registry_add_array({parsed['host'] or host, 'www', parsed['port'] or port, 'directories'}, parsed['path'])
+ else
+ stdnse.registry_add_array({parsed['host'] or host, 'www', parsed['port'] or port, 'files'}, parsed['path'])
+ end
+
+
+ -- If we have an extension, add it to the extensions key
+ if(parsed['extension']) then
+ stdnse.registry_add_array({parsed['host'] or host, 'www', parsed['port'] or port, 'extensions', parsed['extension']}, parsed['path'])
+ end
+
+ -- Add an entry for the page and its arguments
+ if(parsed['querystring']) then
+ -- Add all scripts with a querystring to the 'cgi' and 'cgi_full_query' keys
+ stdnse.registry_add_array({parsed['host'] or host, 'www', parsed['port'] or port, 'cgi'}, parsed['path'])
+ stdnse.registry_add_array({parsed['host'] or host, 'www', parsed['port'] or port, 'cgi_full_query'}, parsed['path_query'])
+
+ -- Add the query string alone to the registry (probably not necessary)
+ stdnse.registry_add_array({parsed['host'] or host, 'www', parsed['port'] or port, 'cgi_querystring', parsed['path'] }, parsed['raw_querystring'])
+
+ -- Add the individual arguments for the page, along with their values
+ for key, value in pairs(parsed['querystring']) do
+ stdnse.registry_add_array({parsed['host'] or host, 'www', parsed['port'] or port, 'cgi_args', parsed['path']}, parsed['querystring'])
+ end
+ end
+end
+
+
+
get_default_timeout = function( nmap_timing )
local timeout = {}
if nmap_timing >= 0 and nmap_timing <= 3 then
@@ -1851,3 +2046,4 @@ get_default_timeout = function( nmap_timing )
end
return timeout
end
+
diff --git a/nselib/smb.lua b/nselib/smb.lua
index 553722891..31f82888d 100644
--- a/nselib/smb.lua
+++ b/nselib/smb.lua
@@ -2780,7 +2780,7 @@ function share_get_list(host)
extra = string.format("ERROR: Enumerating shares failed, guessing at common ones (%s)", shares)
-- Take some common share names I've seen (thanks to Brandon Enright for most of these, except the last few)
- shares = {"IPC$", "ADMIN$", "TEST", "TEST$", "HOME", "HOME$", "PUBLIC", "PRINT", "PRINT$", "GROUPS", "USERS", "MEDIA", "SOFTWARE", "XSERVE", "NETLOGON", "INFO", "PROGRAMS", "FILES", "WWW", "STMP", "TMP", "DATA", "BACKUP", "DOCS", "HD", "WEBSERVER", "WEB DOCUMENTS", "SHARED", "DESKTOP", "MY DOCUMENTS", "PORN", "PRON", "PR0N"}
+ shares = {"IPC$", "ADMIN$", "TEST", "TEST$", "HOME", "HOME$", "PUBLIC", "PRINT", "PRINT$", "GROUPS", "USERS", "MEDIA", "SOFTWARE", "XSERVE", "NETLOGON", "INFO", "PROGRAMS", "FILES", "WWW", "STMP", "TMP", "DATA", "BACKUP", "DOCS", "HD", "WEBSERVER", "WEB DOCUMENTS", "SHARED", "DESKTOP", "MY DOCUMENTS", "PORN", "PRON", "PR0N", "PICTURES", "BACKUP" }
-- Try every alphabetic share, with and without a trailing '$'
for i = string.byte("A", 1), string.byte("Z", 1), 1 do
diff --git a/nselib/stdnse.lua b/nselib/stdnse.lua
index 9e9a93e8b..699018f9c 100644
--- a/nselib/stdnse.lua
+++ b/nselib/stdnse.lua
@@ -618,6 +618,82 @@ function get_script_args (...)
return unpack(args, 1, select("#", ...))
end
+---Get the best possible hostname for the given host. This can be the target as given on
+-- the commandline, the reverse dns name, or simply the ip address.
+--@param host The host table (or a string that'll simply be returned).
+--@return The best possible hostname, as a string.
+function get_hostname(host)
+ if type(host) == "table" then
+ return host.targetname or ( host.name ~= '' and host.name ) or host.ip
+ else
+ return host
+ end
+end
+
+---Retrieve an item from the registry, checking if each sub-key exists. If any key doesn't
+-- exist, return nil.
+function registry_get(subkeys)
+ local registry = nmap.registry
+ local i = 1
+
+ while(subkeys[i]) do
+ if(not(registry[subkeys[i]])) then
+ return nil
+ end
+
+ registry = registry[subkeys[i]]
+
+ i = i + 1
+ end
+
+ return registry
+end
+
+---Add an item to an array in the registry, creating all sub-keys if necessary.
+-- For example, calling:
+-- registry_add_array({'192.168.1.100', 'www', '80', 'pages'}, 'index.html')
+-- Will create nmap.registry['192.168.1.100'] as a table, if necessary, then add a table
+-- under the 'www' key, and so on. 'pages', finally, is treated as an array and the value
+-- given is added to the end.
+function registry_add_array(subkeys, value)
+ local registry = nmap.registry
+ local i = 1
+
+ while(subkeys[i]) do
+ if(not(registry[subkeys[i]])) then
+ registry[subkeys[i]] = {}
+ end
+ registry = registry[subkeys[i]]
+ i = i + 1
+ end
+
+ -- Make sure the value isn't already in the table
+ for _, v in pairs(registry) do
+ if(v == value) then
+ return
+ end
+ end
+ insert(registry, value)
+end
+
+---Similar to registry_add_array, except instead of adding a value to the
+-- end of an array, it adds a key:value pair to the table.
+function registry_add_table(subkeys, key, value)
+ local registry = nmap.registry
+ local i = 1
+
+ while(subkeys[i]) do
+ if(not(registry[subkeys[i]])) then
+ registry[subkeys[i]] = {}
+ end
+ registry = registry[subkeys[i]]
+ i = i + 1
+ end
+
+ registry[key] = value
+end
+
+
--- This function allows you to create worker threads that may perform
-- network tasks in parallel with your script thread.
--