Unknown
29.02.2012, 16:44
ОБНОВЛЕНИЕ: Актуальная версия 1.1
(/showpost.php?p=3043631&postcount=4 (https://antichat.live/showpost.php/p/3043631/postcount/4/))
JComScanner v1.0Этот сканер представляет из себя простой Python скрипт, возможно есть способы написать его проще, или улучшить функциональность сканера. Именно на Python я программирую только неделю, так что без претензий господа. Это не сканер безопасности, и не программа для взлома, этот скрипт скажет вам какие именно компоненты установлены на сайте.
http://i40.tinypic.com/33pbyc1.png
Вы должны указать скрипту файл со списком Joomla компонентов, он будет читать по одному и проверять. Простое использование:
Code:
./jscan.py http://joomla.org ./mycomponent_list.txt
или есть возможность запустить с таймаутом, т.е. между подключениями к серверу должно будет пройти определенное время:
Code:
./jscan.py http://joomla.org ./mycomponent_list.txt 10
Перед названием сайта должно быть http://, иначе библиотека urllib2 начнет ругаться. Путь к файлу может быть релативный или абсолютный. Таймаут не обязателен. Аргументы должны задаваться в таком порядке в каком я здесь написал, и никак подругому. Скрипт простой, и там нету каких либо крутых проверок входных данных, т.к. для этого скрипта они в принципе и не нужны.
Code:
#!/usr/bin/env python
import sys, time, os
import urllib2 as u2
if len(sys.argv) 4:
print "Usage:" + sys.argv[0] + " "
print "Example:" + sys.argv[0] + " http://joomla.org ./db.txt"
exit()
if not os.access(sys.argv[2], os.F_OK):
print( "File " + sys.argv[2] + " does not exist or "
+ "you are not permitted to access to the file")
exit()
print "[Joomla components scanner by R0nin]\n"
print "[+] Host:", sys.argv[1], "\n\n"
with open(sys.argv[2]) as comfile:
for line in comfile:
line = line.strip("\r\n")
req = u2.Request(sys.argv[1] + "/components/" + line)
try:
u2.urlopen(req)
except u2.HTTPError as hr:
if hr.code == 404:
print "Component: " + line.ljust(50,' ') + "[Not found]"
except u2.URLError as ur:
print "URL error:", ur.args
exit()
except ValueError as vr:
print "Value error:", vr.args
exit()
except KeyboardInterrupt as kierr:
print "\nInterrupted by user: (CTRL+C or Delete)"
exit()
except:
print "Uknown exception: exit..."
exit()
else:
print "Component: " + line.ljust(50,' ') + "[OK]"
try:
if len(sys.argv) == 4:
time.sleep(int(sys.argv[3]))
except KeyboardInterrupt as kierr:
print "\nInterrupted by user: (CTRL+C or Delete)"
exit()
Скачать базу с названиями компонент: http://pastebin.com/uGGR31LU
На данный момент база с компонентами состоит из 217 разных компонентов. На самом деле существуют их намного больше, поэтому если решите обновить базу залейта его куда нибудь и скиньте ссылка в этой теме
!!! Формат файла с названиями очень простой - на каждой строке пишем одно названием компонента.
Исходник скрипта на PasteBin: http://pastebin.com/VjA5y5HE
Что планируется:
- возможность туннелирования
- более продвинутый механизм сканирования (чтобы не спалить хату) )
(/showpost.php?p=3043631&postcount=4 (https://antichat.live/showpost.php/p/3043631/postcount/4/))
JComScanner v1.0Этот сканер представляет из себя простой Python скрипт, возможно есть способы написать его проще, или улучшить функциональность сканера. Именно на Python я программирую только неделю, так что без претензий господа. Это не сканер безопасности, и не программа для взлома, этот скрипт скажет вам какие именно компоненты установлены на сайте.
http://i40.tinypic.com/33pbyc1.png
Вы должны указать скрипту файл со списком Joomla компонентов, он будет читать по одному и проверять. Простое использование:
Code:
./jscan.py http://joomla.org ./mycomponent_list.txt
или есть возможность запустить с таймаутом, т.е. между подключениями к серверу должно будет пройти определенное время:
Code:
./jscan.py http://joomla.org ./mycomponent_list.txt 10
Перед названием сайта должно быть http://, иначе библиотека urllib2 начнет ругаться. Путь к файлу может быть релативный или абсолютный. Таймаут не обязателен. Аргументы должны задаваться в таком порядке в каком я здесь написал, и никак подругому. Скрипт простой, и там нету каких либо крутых проверок входных данных, т.к. для этого скрипта они в принципе и не нужны.
Code:
#!/usr/bin/env python
import sys, time, os
import urllib2 as u2
if len(sys.argv) 4:
print "Usage:" + sys.argv[0] + " "
print "Example:" + sys.argv[0] + " http://joomla.org ./db.txt"
exit()
if not os.access(sys.argv[2], os.F_OK):
print( "File " + sys.argv[2] + " does not exist or "
+ "you are not permitted to access to the file")
exit()
print "[Joomla components scanner by R0nin]\n"
print "[+] Host:", sys.argv[1], "\n\n"
with open(sys.argv[2]) as comfile:
for line in comfile:
line = line.strip("\r\n")
req = u2.Request(sys.argv[1] + "/components/" + line)
try:
u2.urlopen(req)
except u2.HTTPError as hr:
if hr.code == 404:
print "Component: " + line.ljust(50,' ') + "[Not found]"
except u2.URLError as ur:
print "URL error:", ur.args
exit()
except ValueError as vr:
print "Value error:", vr.args
exit()
except KeyboardInterrupt as kierr:
print "\nInterrupted by user: (CTRL+C or Delete)"
exit()
except:
print "Uknown exception: exit..."
exit()
else:
print "Component: " + line.ljust(50,' ') + "[OK]"
try:
if len(sys.argv) == 4:
time.sleep(int(sys.argv[3]))
except KeyboardInterrupt as kierr:
print "\nInterrupted by user: (CTRL+C or Delete)"
exit()
Скачать базу с названиями компонент: http://pastebin.com/uGGR31LU
На данный момент база с компонентами состоит из 217 разных компонентов. На самом деле существуют их намного больше, поэтому если решите обновить базу залейта его куда нибудь и скиньте ссылка в этой теме
!!! Формат файла с названиями очень простой - на каждой строке пишем одно названием компонента.
Исходник скрипта на PasteBin: http://pastebin.com/VjA5y5HE
Что планируется:
- возможность туннелирования
- более продвинутый механизм сканирования (чтобы не спалить хату) )