# Pantera - Web Pen-Test Proxy # # FILENAME : panteraHTML.py # CODER : Simon Roses Femerling # DATE : 12/06/2004 # LAST UPDATE : 07/04/2006 # ABSTRACT : Used by Pantera Proxy to create HTML Pages. # Heavely base on SpikeProxy. # # - Roses Labs Innovations (RL+I) # Roses Labs # http://www.roseslabs.com # # Copyright (c) 2003-2006 Roses Labs. # # You may not distribute, transmit, repost this software for commercial # purposes without Roses Labs written permission. # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the # "Software"), to deal in the Software without restriction, including # without limitation the rights to use, copy, modify, publish, # distribute the Software, and to permit persons to whom the Software # is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included # in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # ''' @author: Simon Roses Femerling @license: GNU General Public License 2.0 or later @contact: pantera.proxy@gmail.com @organization: OWASP / Roses Labs ''' ############################################################################################# # classes ############################################################################################# ############################################################################################# # FUNC : class PanteraHTML # PARAMS : ... # RETURN : ... # ABSTRACT : Pantera HTML class class PanteraHTML: ''' ''' ############################################################################################# # FUNC : def __init__ # PARAMS : ... # RETURN : ... # ABSTRACT : Init internal variables def __init__(self): ''' ''' """ __init__ func """ self.cssfilename="pantera.css" # our default css file self.index_data_rigth = "" self.index_data_left = "" self.inside = 0 self.data_footer = "
Roses Labs (C) 2003-2006
" self.data_header = [] self.body_param = {} return # EOF: def __init__ ############################################################################################# # FUNC : def CreateHeader # PARAMS : string, value # RETURN : string # ABSTRACT :Create HTML header def CreateHeader(self, title="", i=0): ''' ''' """ CreateHeader func """ self.inside = i strhtml="" strhtml += "\r\n" strhtml += "\r\n" strhtml += "\r\n" % self.cssfilename strhtml += "%s\r\n" % title strhtml += "\r\n" strhtml += "\r\n" strhtml += "\r\n" strhtml += "\r\n" if len(self.data_header)>0: strhtml += "".join(self.data_header) strhtml += "\r\n" return strhtml # EOF: def CreateHeader ############################################################################################# # FUNC : def CreateHTMLMenu # PARAMS : ... # RETURN : string # ABSTRACT : Create HTML menu def CreateHTMLMenu(self): ''' ''' """ CreateHTMLMenu func """ strhtml = "" strhtml += "" return strhtml # EOF: def CreateHTMLMenu ############################################################################################# # FUNC : def CreateHomePage # PARAMS : string # RETURN : string # ABSTRACT : Create home page def CreateHomePage(self, title = ""): ''' ''' """ CreateHomePage func """ strhtml="" if len(self.body_param)>0: strhtml += "\r\n" strhtml += "
\r\n" strhtml += "

Pantera Web Assessment Studio (WAS) Project: %s

\r\n" % title strhtml += "
\r\n" #strhtml += "
\r\n" strhtml += self.CreateHTMLMenu() #strhtml += "
\r\n" strhtml += "
\r\n" strhtml += self.index_data_rigth strhtml += "
\r\n" strhtml += "
\r\n" strhtml += "

\r\n" strhtml += "
\r\n" strhtml += "
\r\n" strhtml += "%s\r\n" % self.data_footer strhtml += "
\r\n" strhtml += "\r\n" strhtml += "\r\n" strhtml += "\r\n" return strhtml # EOF: def CreateHomePage ############################################################################################# # FUNC : def SetDataRigth # PARAMS : string # RETURN : ... # ABSTRACT : Set data in rigth view def SetDataRigth(self,d): ''' ''' """ SetDataRigth func """ self.index_data_rigth = d # EOF: def SetDataRigth ############################################################################################# # FUNC : def DeleteDataRigth # PARAMS : ... # RETURN : ... # ABSTRACT : Delete data in rigth view def DeleteDataRigth(self): ''' ''' """ DeleteDataRigth func """ self.index_data_rigth = "" # EOF: def DeleteDataRigth ############################################################################################# # FUNC : def CreatePage # PARAMS : string, string, string # RETURN : string # ABSTRACT : Create HTML page def CreatePage(self, title = "",link = "", data = ""): ''' ''' """ CreatePage func """ strhtml="" if len(self.body_param)>0: strhtml += "\r\n" strhtml += "
\r\n" strhtml += "

%s

" % title if link: strhtml += "\r\n" % link strhtml += "
\r\n" #strhtml += "
\r\n" strhtml += self.CreateHTMLMenu() #strhtml += "
\r\n" strhtml += "
\r\n" strhtml += "

%s

\r\n" % data strhtml += "
\r\n" strhtml += "
\r\n" strhtml += "%s\r\n" % self.data_footer strhtml += "
\r\n" strhtml += "\r\n" strhtml += "\r\n" strhtml += "\r\n" return strhtml # EOF: def CreatePage ############################################################################################# # FUNC : def SetCSSFile # PARAMS : string # RETURN : ... # ABSTRACT : Set CSS file def SetCSSFile(self, fil=""): ''' ''' """ SetCSSFile func """ self.cssfilename = fil # EOF: def SetCSSFile ############################################################################################# # FUNC : def ReturnCSSFile # PARAMS : ... # RETURN : string # ABSTRACT : Return CSS file def ReturnCSSFile(self): ''' ''' """ ReturnCSSFile func """ return self.cssfilename # EOF: def ReturnCSSFile ############################################################################################# # FUNC : def ReturnNotImplementedYet # PARAMS : ... # RETURN : string # ABSTRACT : Return not implement string def ReturnNotImplementedYet(self): ''' ''' """ ReturnNotImplementedYet func """ return "Error

Not implemented yet, sorry.

" # EOF: def ReturnNotImplementedYet ############################################################################################# # FUNC : def SetDataFooter # PARAMS : string # RETURN : ... # ABSTRACT : Set footer data def SetDataFooter(self, d): ''' ''' """ SetDataFooter func """ self.data_footer = d # EOF: def SetDataFooter ############################################################################################# # FUNC : def ReturnDataFooter # PARAMS : ... # RETURN : string # ABSTRACT : Return footer data def ReturnDataFooter(self): ''' ''' """ ReturnDataFooter func """ return self.data_footer # EOF: def ReturnDataFooter ############################################################################################# # FUNC : def SetDataHeader # PARAMS : string # RETURN : ... # ABSTRACT : Add HTML header tags def SetDataHeader(self, d): ''' ''' """ SetDataHeader func """ self.data_header.append(d) # EOF: def SetDataHeader ############################################################################################# # FUNC : def ReturnDataHeader # PARAMS : ... # RETURN : list # ABSTRACT : Return HTML header tags def ReturnDataHeader(self): ''' ''' """ ReturnDataHeader func """ return self.data_header # EOF: def ReturnDataHeader ############################################################################################# # FUNC : def SetBodyParam # PARAMS : string, string # RETURN : ... # ABSTRACT : Set body params def SetBodyParam(self, key, value): ''' ''' """ SetBodyParam func """ self.body_param[key] = value # EOF: def SetBodyParam ############################################################################################# # FUNC : def GetBodyParam # PARAMS : ... # RETURN : string # ABSTRACT : Get body params def GetBodyParam(self): ''' ''' """ GetBodyParam func """ return self.body_param # EOF: def GetBodyParam ############################################################################################# # FUNC : def ReturnTimerScript # PARAMS : int # RETURN : string # ABSTRACT : Get js timer script # Ripped from http://www.mcfedries.com/JavaScript/timer.asp def ReturnTimerScript(self, secs=100): ''' ''' """ ReturnTimerScript func """ s = "" s += "\r\n" return s # EOF: def ReturnTimerScript ############################################################################################# # FUNC : def ReturnTextSearchScript # PARAMS : ... # RETURN : string # ABSTRACT : Get js text search script # Ripped from http://www.javascripter.net/faq/searchin.htm def ReturnTextSearchScript(self): ''' ''' """ ReturnTextSearchScript func """ s = "" s += "\r\n" return s # RL+I EOF