fooying / 3102 Goto Github PK
View Code? Open in Web Editor NEWA domain/ip fuzzing tool for vulnerability mining
Home Page: http://www.fooying.com
A domain/ip fuzzing tool for vulnerability mining
Home Page: http://www.fooying.com
python run3102.py
_____ __ _____ _____
|____ |/ || _ |/ __ \
/ /`| || |/' |`' / /'
\ \ | || /| | / /
.___/ /_| |\ |_/ /./ /___
\____/ \___/\___/ \_____/
Domain/ip Fuzzing tool for vulnerability mining
By Fooying(www.fooying.com)
usage:
eg1: python run3102.py --target
run3102.py: error: argument -t/--target is required
Exception KeyError: KeyError(4482920112,) in <module 'threading' from '/usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.pyc'> ignored
import sys
if 'threading' in sys.modules:
raise Exception('threading module loaded before patching!')
import gevent.monkey; gevent.monkey.patch_thread()
在插件控制器等地方会与core.data.conf混淆,需要调整
rt
rt
不用pip install的方式,将依赖库也加入到项目
持续集成与make安装
方便比如在子域爆破的时候先判断是否已有该子域在结果列表里,就没必要进行处理
刚刚merge了最近版本的代码,然后出现异常无法运行了。
中间有几行是我print一些变量来查看原因。
出现异常的原因是读取3102.conf
文件中配置的值为空,然后执行int进行转换的时候出现ValueError
了。
36:def complate():
105: complate()
complate 还是 complete,是拼写错误么,故意用的complate??
rt
增加监控,在程序卡死情况下进行自动杀死处理
比如存活检测应该属于这部分
再者根据搜索引擎去查找可疑的url
再者进行组件检测
再者组件检测完结合exp搜索工具进行对应exp搜索
敏感路径猜解
想想如何提供后续框架的集成调用,调用其他工具进行处理和结果保存
>>> import signal
>>> signal.SIGUSR1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'SIGUSR1'
在Windows下木有signal.SIGUSR1
新插件:C段扫描
建议包装api,各种诉求各自可以搞定
我的机器系统第三方库中没有安装gevent
,会提示这样的错误:
No module named gevent.hub
Traceback (most recent call last):
File "run3102.py", line 17, in main
from core.parser import parse
File "/Users/JaySon/PythonProjects/3102/core/parser.py", line 14, in <module>
from core.controllers.plugin_controller import PluginController
File "/Users/JaySon/PythonProjects/3102/core/controllers/plugin_controller.py", line 13, in <module>
from thirdparty import gevent
File "/Users/JaySon/PythonProjects/3102/thirdparty/gevent/__init__.py", line 36, in <module>
from gevent.hub import get_hub, iwait, wait
ImportError: No module named gevent.hub
其他第三方库也会出现类似的问题,我之前遇到过。。之前的做法是把thirdparty中的类似from gevent.hub import get_hub, iwait, wait
的语句手动换为from thirdparty.gevent.hub import get_hub, iwait, wait
再去看看有没有其他解决方法
需要增加功能由用户指定协程池的大小
每个人的机器配置不同,所以可设置的大小不同
现在默认的配置在我的虚拟机里会让内存占用100%然后主进程会自动被kill掉
我设置为100就不会,但是同时意味着执行效率降低了
需要有个参数的指定,如--pool_size来指定这个参数
顺便解决这个被kill的问题
增加-p参数,指定执行插件,而不是执行所有插件
rt
考虑搭建在线Web版本,方便在线进行查询
考虑异步结果处理
暂列计划
在kali 32bit系统下,按照步骤描述成功安装,但在第一次运行时,到加载插件时出错,出错信息如下:
[*] system init...
'subdomain'
Traceback (most recent call last):
File "./run3102.py", line 21, in main
start(args)
File "/root/3102/core/controllers/controller.py", line 77, in start
plugin_controller.plugin_init()
File "/root/3102/core/controllers/plugin_controller.py", line 49, in plugin_init
self.__register_plugin(plugin)
File "/root/3102/core/controllers/plugin_controller.py", line 56, in __register_plugin
kb.plugins[plugin]['name'] = plugin
KeyError: 'subdomain'
这个错误有些令人费解,希望fooying指教,谢谢!
参考猪猪侠的html报表输出方式修改结果报表
http://wydomain.wuyun.org/report/result_wooyun.org.html
--formtat的可用值通过动态读取结果输出模板目录的模板
rt
rt
rt
rt
gevent库需要编译为.so库进行调用,单纯地把gevent放到thirdparty中,跨平台的时候会出现问题。
比如目前版本a04fd533358cfb996c02a60560f767adbfe0f8f6
,导入thirdparty中的gevent时在我的Mac OS X上会报错,要删除thirdparty中的gevent重新用pip
编译安装,修改导入语句之后才能使用
Gevent安装似乎不同环境比较坑,考虑是否尽量使用Python自带模块
降低安装需求,同时降低使用门槛
虽然性能有所降低,不过感觉应该值得
rt
paths.output_file应该是用于存储输出路径的。
而现在的代码中只是在 3102/core/controllers/controller.py中赋值了命令行的参数,然后作为初始化参数初始化Output类。
真正的存储路径在Output类中可能会发生变化(__get_output_file函数中),这样paths.output_file的值就不是存储输出路径
现在的paths.output_file变量仅仅是作为cmdLineOptions.output_file的一个副本
修改方式(三种选一):
增加存活检测功能
在fuzzing完成后对结果进行存活检测
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.