Tools to play with wordlists
Project description
wordlistools
Wordlistools is a collection of tools to play with wordlists. This tool was built with offensive security in mind, to help bruteforcing, filtering wordlists to crack passwords, building wordlists for fuzzing, etc. This project is still under development.
Features
- Can be used as command lines or as a python library
- Can be used with stdin redirection
|
- Easily extensible, you can add your own plugins on your home directory
~/.koalak/wordlistools/plugins
Install
pip3 install wordlistools
Demonstration
Note: This demonstration is an old version of wordlistools, but the principe remains the same.
Add a tool
You can easily add your own tools in wordlistools. Create a python file in ~/koalak/wordlistools/plugins/
and subclass BasePlugin
, wordlistools will automatically execute your script and register your plugin.
You have to define the following attributes
- name(str): the name of your plugin (must be unique)
- description(str): description of what your will plugin do, it will be displayed in the help CLI
Implement the following abstract methods:
init_parser()
: to configure the CLI arguments by using the standard library argparse, useself.add_argument
which is a wrapper for the original argparse method.- run: implement here the logic of your plugin, take any things as parameters and must return an iterator of strings
- cmd(args): must call the
self.run
method based on theargs
arguments of argparse
Plugin Template
# path of this file: ~/koalak/wordlistools/plugins/myplugins.py
import itertools
from wordlistools import BaseTool
class MyTool(BaseTool):
name = "myplugin"
description = "Do nothing, return the same list"
def init_parser(self):
self.add_argument("wordlists", help="wordlist to return", nargs="+", stdin=True)
def cmd(cls, args):
return cls.run(*args.wordlists)
def run(cls, *wordlists):
wordlists = cls.normalize_wordlists(wordlists)
for e in itertools.chain(*wordlists):
yield e
If you want your plugins to handle stdin wordlists you have to add stdin=True
in add_argument
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file wordlistools-0.1.5.tar.gz
.
File metadata
- Download URL: wordlistools-0.1.5.tar.gz
- Upload date:
- Size: 15.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc8d90b2c796d560be3d3a722b23a902bc171d39814fc70ed915657bc8e7da90 |
|
MD5 | bd3cff3c39386300a6d28ac8a5c8b5fa |
|
BLAKE2b-256 | 648c98119332b66c314a29ab4f08c62b84777c47f9ca49354e39e76e0761b111 |
File details
Details for the file wordlistools-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: wordlistools-0.1.5-py3-none-any.whl
- Upload date:
- Size: 20.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b34ed49b6bca10bec30df9e7b1a86125f171b0717e6aad0868b0c6f2fb9315d |
|
MD5 | c42773605d74d891ad5d56a819c16c49 |
|
BLAKE2b-256 | c49f16823f5011e43a7d34e6d6dccd91e25814630d5642047ba0ce00c75295ad |