Hanno Böck
file ausgabe natürlich nur mit debug
Hanno Böck commited b90d31d at 2007-12-19 11:15:20
#!/usr/bin/python -tO
# freewvs 0.1 - the free web vulnerability scanner
#
# http://source.schokokeks.org/freewvs/
#
# Copyright 2007 Hanno Boeck, schokokeks.org <hanno@schokokeks.org>
#
# Contributions by
# Fabian Fingerle <fabian@datensalat.eu>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import ConfigParser, os, glob, pprint, re, optparse, sys
def versioncompare(safe_version,find_version):
if safe_version==[""]: return True
for i in range(min(len(find_version),len(safe_version))):
if int(find_version[i])<int(safe_version[i]):
return True
if int(find_version[i])>int(safe_version[i]):
return False
return (len(find_version)<len(safe_version))
def vulnprint(appname,version,safeversion,vuln,filename,subdir):
appdir='/'.join(os.path.abspath(filename).split('/')[:-1-subdir])
print "%(appname)s %(version)s (%(safeversion)s) %(vuln)s %(appdir)s" % vars()
pp = pprint.PrettyPrinter(indent=4)
# Command-line options
parser = optparse.OptionParser()
parser.add_option("-a", "--all", action="store_true", dest="ALL",
help="Show all webapps found, not just vulnerable")
parser.add_option("-d", "--debug", action="store_true", dest="DEBUG",
help="Show lots of debugging output, mainly useful for development")
opts, args = parser.parse_args()
# Parse vulnerability database
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX