Sha256: fa107bc137d64ce536ef3044f9a5db276f22d91939d79fdefc9febfb01e11311

Contents?: true

Size: 1.82 KB

Versions: 6

Compression:

Stored size: 1.82 KB

Contents

# frozen_string_literal: true

##
# This file is part of WhatWeb and may be subject to
# redistribution and commercial restrictions. Please see the WhatWeb
# web site for more information on licensing and terms of use.
# http://www.morningstarsecurity.com/research/whatweb
##
# Version 0.5 # 2011-05-14 # Brendan Coles <bcoles@gmail.com>
# Changed @cookies to target.headers["set-cookie"] to support recursive mode
##
# Version 0.4 # 2011-04-08 # Brendan Coles <bcoles@gmail.com>
# Added username and localfile path detection for cookies containing public_html
##
# Version 0.3 # 2011-01-30 # Brendan Coles <bcoles@gmail.com>
# Fixed regex bug # Cookies were always split by "=" even when it wasn't present
##
# Version 0.2
# removed :certainty=>100
##
WhatWeb::Plugin.define "Cookies" do
  @author = "Andrew Horton"
  @version = "0.5"
  @description = "Display the names of cookies in the HTTP headers. The values are not returned to save on space."

  # ShodanHQ results as at 2011-04-08 #
  # 2,527,334 for set-cookie
  # 37 for set-cookie path home public_html
  # 17 for set-cookie path=/home/ /public_html

  # Passive #
  def passive(target)
    m = []

    unless target.headers["set-cookie"].nil? || target.headers["set-cookie"].empty?

      # Extract cookie names
      target.headers["set-cookie"].split("\n").each do |cookie|
        m << { string: cookie.split("=")[0] } if cookie =~ /=/
      end

      # Detect local file paths containing public_html
      if /path=\/home[\d]*\/([^\/]+)\/public_html\//.match?(target.headers["set-cookie"].to_s)
        m << { account: target.headers["set-cookie"].to_s.scan(/path=\/home[\d]*\/([^\/]+)\/public_html\//).flatten }
        m << { filepath: target.headers["set-cookie"].to_s.scan(/path=(\/home[\d]*\/[^\/]+\/public_html\/)/).flatten }
      end

    end

    # Return passive match
    m
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
simple_whatweb-0.4.1 lib/whatweb/plugins/cookies.rb
simple_whatweb-0.4.0 lib/whatweb/plugins/cookies.rb
simple_whatweb-0.3.0 lib/whatweb/plugins/cookies.rb
simple_whatweb-0.2.1 lib/whatweb/plugins/cookies.rb
simple_whatweb-0.2.0 lib/whatweb/plugins/cookies.rb
simple_whatweb-0.1.0 lib/whatweb/plugins/cookies.rb