![]() |
ОБНОВЛЕНИЕ: Актуальная версия 1.1
(/showpost.php?p=3043631&postcount=4) JComScanner v1.0 Этот сканер представляет из себя простой Python скрипт, возможно есть способы написать его проще, или улучшить функциональность сканера. Именно на Python я программирую только неделю, так что без претензий господа. Это не сканер безопасности, и не программа для взлома, этот скрипт скажет вам какие именно компоненты установлены на сайте.http://i40.tinypic.com/33pbyc1.png Вы должны указать скрипту файл со списком Joomla компонентов, он будет читать по одному и проверять. Простое использование: Код:
Code:Код:
Code: Код:
Code:Скачать базу с названиями компонент: http://pastebin.com/uGGR31LU На данный момент база с компонентами состоит из 217 разных компонентов. На самом деле существуют их намного больше, поэтому если решите обновить базу залейта его куда нибудь и скиньте ссылка в этой теме !!! Формат файла с названиями очень простой - на каждой строке пишем одно названием компонента. Исходник скрипта на PasteBin: http://pastebin.com/VjA5y5HE Что планируется: - возможность туннелирования - более продвинутый механизм сканирования (чтобы не спалить хату) ) |
Я такое многопоточным делал, но проверка только по бажным компонентам)
--- "Перед названием сайта должно быть http://, иначе библиотека urllib2 начнет ругаться" Что мешает добавлять в самом скрпите, если не стоит 'http://' простая проверка |
Цитата:
upd: Цитата:
|
Обновление v1.1
Changelog!: Программа прошла полной переработкой. Ограничения вставленные на входящие аргументы (имеется ввиду порядок записи или обязательный префикс http) уже не действительны. Добавлены новые функция. Работа с аргументами изменена: Код:
Code:Что нового
Screenshot http://i40.tinypic.com/eikpro.png [CODE] Code: #!/usr/bin/env python import os import time import random import urllib2 as u2 import argparse as ap sub_url = "/components/" #------------------------------------------------------ # Args set def add_args(): p = ap.ArgumentParser() p.add_argument("-u", help = "Remote site URL") p.add_argument("-f", help = "Joomla components list file") p.add_argument("-t", help = "Timeout (sec)") p.add_argument("-T", help = "Randomization timeout (from 0 to N)") p.add_argument("-p", help = "HTTP Proxy server (PROXY:PORT)(example: 127.0.0.1:1080)") return p.parse_args(), p #------------------------------------------------------ #------------------------------------------------------ # Timeout def timeout(args): if args.T: time.sleep(random.randint(0, int(args.T))) elif args.t: time.sleep(int(args.t)) #------------------------------------------------------ #------------------------------------------------------ # Scan through HTTP server def scan_through_proxy(args, com_name, op): try: url = args.u + sub_url + com_name op.open(url) except: raise return True #------------------------------------------------------ #------------------------------------------------------ # Scan directly def scan(args, com_name): try: url = args.u + sub_url + com_name req = u2.Request(url) u2.urlopen(req) except: raise return True #------------------------------------------------------ a, p = add_args() if not a.u or not a.f: p.print_usage() p.exit() else: if a.u.find("http://") |
бесполезная штука//вручную проще
за старание + |
Цитата:
p.s. оказывается допустил логическую ошибку, там где должно было быть Код:
Code:Код:
Code:Ошибку исправил, код перезалил. |
| Время: 02:26 |