Advertisement
androxgh0st

pler

Feb 6th, 2020
631
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.67 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. import requests, threading, sys, time, itertools
  3. from enum import Enum
  4. from Queue import Queue
  5. requests.packages.urllib3.disable_warnings()
  6.  
  7. pler = ["/DesktopModules/Admin/RadEditorProvider/DialogHandler.aspx","/app_master/telerik.web.ui.dialoghandler.aspx","/Providers/HtmlEditorProviders/Telerik/Telerik.Web.UI.DialogHandler.aspx","/common/admin/Jobs2/Telerik.Web.UI.DialogHandler.aspx","/dashboard/UserControl/CMS/Page/Telerik.Web.UI.DialogHandler.aspx","/DesktopModules/News/Telerik.Web.UI.DialogHandler.aspx","/desktopmodules/telerikwebui/radeditorprovider/telerik.web.ui.dialoghandler.aspx","/DesktopModules/dnnWerk.RadEditorProvider/DialogHandler.aspx","/DesktopModules/TNComments/Telerik.Web.UI.DialogHandler.aspx","/DesktopModules/YA.Controls/AngularMain/Telerik.Web.UI.DialogHandler.aspx","/DesktopModules/Base/EditControls/Telerik.Web.UI.DialogHandler.aspx"]
  8.  
  9. import itertools
  10. import sys
  11. import time
  12. import threading
  13.  
  14.  
  15. class Spinner(object):
  16.     spinner_cycle = itertools.cycle(['-', '/', '|', '\\'])
  17.  
  18.     def __init__(self):
  19.         self.stop_running = threading.Event()
  20.         self.spin_thread = threading.Thread(target=self.init_spin)
  21.  
  22.     def start(self):
  23.         self.spin_thread.start()
  24.  
  25.     def stop(self):
  26.         self.stop_running.set()
  27.         self.spin_thread.join()
  28.  
  29.     def init_spin(self):
  30.         while not self.stop_running.is_set():
  31.             sys.stdout.write("\r["+self.spinner_cycle.next()+"] Please wait, jobs is running ...")
  32.             sys.stdout.flush()
  33.             time.sleep(0.25)
  34.             sys.stdout.write('\b')
  35.  
  36. def test(asu):
  37.     print("\r"+asu)
  38.     time.sleep(2)
  39.    
  40. def check(url):
  41.     try:
  42.         for path in pler:
  43.             source = requests.get(url+path, verify=False, timeout=10, headers={"User-agent":"Linux Mozilla"}).text
  44.             if "Loading the dialog" in source:
  45.                 found = url+path
  46.                 save = open("found_telerik.txt","a")
  47.                 save.write(found+"\n")
  48.                 save.close()
  49.                 print("\b" * 50 + "\033[32;1m"+found+"\033[0m")
  50.                 break
  51.     except:
  52.         pass
  53.  
  54. try:
  55.     list = open(sys.argv[1]).read()
  56.     thre = sys.argv[2]
  57. except:
  58.     print("python scanner.py list.txt threads")
  59.     exit()
  60.  
  61. try:
  62.     spinner = Spinner()
  63.     spinner.start()
  64.     asu = list.splitlines()
  65.     jobs = Queue()
  66.     def do_stuff(q):
  67.         while not q.empty():
  68.             value = q.get()
  69.             if value.startswith("http://") or value.startswith("https://"):
  70.                 check(value)
  71.             else:
  72.                 value2 = "http://"+value
  73.                 check(value2)
  74.             q.task_done()
  75.    
  76.     for trgt in asu:
  77.         jobs.put(trgt)
  78.     for i in range(int(thre)):
  79.         worker = threading.Thread(target=do_stuff, args=(jobs,))
  80.         worker.start()
  81.     jobs.join()
  82.     spinner.stop()
  83. except KeyboardInterrupt:
  84.     print("CTRL + C Closed")
  85.     exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement