class Pastenum::Github
Public Class Methods
new(dork)
click to toggle source
Calls superclass method
Pastenum::Target::new
# File lib/pastenum/targets/github.rb, line 16 def initialize(dork) @dork = URI.escape(dork) @vendor = "https://github.com/" @raw_url = "https://raw.github.com/gist/" super end
Public Instance Methods
search()
click to toggle source
# File lib/pastenum/targets/github.rb, line 24 def search puts "[*] Searching Github".green if @verbose current_page = 1 page_numbers.times do print ".".green if @verbose page = @agent.get("https://github.com/search?langOverride=&language=&q=#{@dork}&repo=&start_value=#{current_page}&type=Code&x=21&y=22") page.links.each do |link| if link.href.match(/\/blob/) if @raw matchdata = link.href.match(/([a-zA-Z0-9\-_\.]+\/[a-zA-Z0-9\-_\.]+)\/(blob)\/([a-z0-9]+)/) address = "https://raw.github.com/#{matchdata[1]}/#{matchdata[3]}/" @results << address else @results << "https://github.com#{link.href.split("#").first}" end end current_page += 1 end end puts "\n" if @verbose return @results.uniq! end
Private Instance Methods
page_numbers()
click to toggle source
# File lib/pastenum/targets/github.rb, line 49 def page_numbers print "[*] Parsing pages:".green if @verbose print "#".green if @verbose begin page = @agent.get("http://github.com/search?langOverride=&language=&q=#{@dork}&repo=&start_value=1&type=Code&x=21&y=22") rescue raise TargetUnreachable, "[!] ERROR: Can not load github - Check Connectivity" end page_count = [] page.links.each do |link| if link.href.match(/search\?langOverride/) pagenum = link.text if pagenum.match(/\d/) page_count << pagenum.to_i end else end end if page_count.max > @max_pages return @max_pages else return page_count.max end end