Sha256: ca6957e13d04063844af6497af4e60cd01f0ab5b91c1efac5b9aa39f82f7fbeb

Contents?: true

Size: 1.4 KB

Versions: 6

Compression:

Stored size: 1.4 KB

Contents

module Burp
  # We use this string to replace invalid UTF-8 bytes with.
  INVALID_UTF_REPLACE = '<?>'

  class Issue

    # This allows external callers (and specs) to check for implemented
    # properties
    def respond_to?(method, include_private=false)
      return true if supported_tags.include?(method.to_sym)
      super
    end

    private

    def cleanup_html(source)
      result = source.dup
      result.gsub!(/&quot;/, '"')
      result.gsub!(/&amp;/, '&')
      result.gsub!(/&lt;/, '<')
      result.gsub!(/&gt;/, '>')
      result.gsub!(/&nbsp;/, ' ')

      result.gsub!(/<b>(.*?)<\/b>/, '*\1*')
      result.gsub!(/<br>|<\/br>/){"\n"}
      result.gsub!(/<font.*?>(.*?)<\/font>/m, '\1')
      result.gsub!(/<h\d?>(.*?)<\/h\d?>/, '*\1*')
      result.gsub!(/<i>(.*?)<\/i>/, '\1')
      result.gsub!(/<p>|<\/p>/){"\n"}
      result.gsub!(/<pre.*?>(.*?)<\/pre>/m){|m| "\n\nbc.. #{ $1 }\n\np.  \n" }

      result.gsub!(/<ul>(.*?)<\/ul>/m){|m| "#{ $1 }\n"}
      result.gsub!(/<li>(.*?)<\/li>/m){|m| "\n* #{ $1 }"}
      result.gsub!(/<a href=\"(.*?)\">(.*?)<\/a>/im) { "\"#{$2.strip}\":#{$1.strip}" }

      result.gsub!(/<table>(.*?)<\/table>/m){|m| "\n\n#{ $1 }\n\n" }
      result.gsub!(/<tr>(.*?)<\/tr>/m){|m| "|#{ $1 }\n" }
      result.gsub!(/<td>(.*?)<\/td>/, '\1|')
      result.gsub!(/<strong>(.*?)<\/strong>/, '*\1*')
      result.gsub!(/<code>(.*?)<\/code>/, '@\1@')

      result
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
dradis-burp-4.15.0 lib/burp/issue.rb
dradis-burp-4.14.0 lib/burp/issue.rb
dradis-burp-4.13.0 lib/burp/issue.rb
dradis-burp-4.11.0 lib/burp/issue.rb
dradis-burp-4.10.0 lib/burp/issue.rb
dradis-burp-4.9.0 lib/burp/issue.rb