Giter VIP home page Giter VIP logo

bopscrk's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bopscrk's Issues

Bopscrk not respecting input character cases

The input words always become lower-case in the output, even if case transforms are disabled.
It's a big issue since the user might want to only combine words "as they are" or have already a curated list of basic case transforms (like: test Test TEST ) and don't want to spend extra compute time for unlikely combinations, like: test tEst teSt tesT TEst........ you got the idea

Tool not using multithreading

Bopscrk seems to always only use 1 thread no matter what operation is made, even if in bopscrk.cfg 32 threads are specified.
Is this normal behaviour?

Inventory notification

Your tool/software has been inventoried on Rawsec's CyberSecurity Inventory.

What is Rawsec's CyberSecurity Inventory?

An inventory of tools and resources about CyberSecurity. This inventory aims to help people to find everything related to CyberSecurity.

  • Open source: Every information is available and up to date. If an information is missing or deprecated, you are invited to (help us).
  • Practical: Content is categorized and table formatted, allowing to search, browse, sort and filter.
  • Fast: Using static and client side technologies resulting in fast browsing.
  • Rich tables: search, sort, browse, filter, clear
  • Fancy informational popups
  • Badges / Shields
  • Static API
  • Twitter bot

More details about features here.

Note: the inventory is a FLOSS (Free, Libre and Open-Source Software) project.

Why?

  • Specialized websites: Some websites are referencing tools but additional information is not available or browsable. Make additional searches take time.
  • Curated lists: Curated lists are not very exhaustive, up to date or browsable and are very topic related.
  • Search engines: Search engines sometimes does find nothing, some tools or resources are too unknown or non-referenced. These is where crowdsourcing is better than robots.

Why should you care about being inventoried?

Mainly because this is giving visibility to your tool, more and more people are using the Rawsec's CyberSecurity Inventory, this helps them find what they need.

Badges

The badge shows to your community that your are inventoried. This also shows you care about your project and want it growing, that your tool is not an abandonware.

Feel free to claim your badge here: http://inventory.rawsec.ml/features.html#badges, it looks like that Rawsec's CyberSecurity Inventory, but there are several styles available.

So what?

That's all, this message is just to notify you if you care.

Windows compatibility

Hi :)
Usually I'm not a Windows user, but for a professional task I had to work from a windows computer.

So, I try to use bopscrk from this win computer and when launch the tool from command line (cmd), it terminates at zero time without providing anything in output.

(no problems on Linux)

image

There are some know troubles with windows OS?

Thanks & best regards :)

python 3 support

python 2 is deprecated and the support will be dropped soon so python support would be welcome

Lyrics: TypeError: 'NoneType' object is not iterable

I install the 3 Requirements: python2 python2-requests python2-beautifulsoup4.

I tried to generate of wordlist based on lyrics:

# python2 bopscrk.py -a disturbed --output ~/wordlist.txt
  [*] Looking for Disturbed's lyrics...
  [*] 3344 phrases found
Traceback (most recent call last):
  File "bopscrk.py", line 576, in <module>
    try: main()
  File "bopscrk.py", line 497, in main
    for phrase in ly_initials_wl:
TypeError: 'NoneType' object is not iterable

Question/Feature

Hi
Is it possible to specify 2+ wordlists in the -w parameter?

lyrics mode broken

$ bopscrk -a adele
[*] Looking for Adele's lyrics...
Traceback (most recent call last):
  File "bopscrk.py", line 576, in <module>
    try: main()
  File "bopscrk.py", line 486, in main
    lyfinder = LyricsFinder(artist, False, True)
  File "/usr/share/bopscrk/lib/lyricpass.py", line 35, in __init__
    for l in self.get_lyrics(s):  # get a list of lyric lines
  File "/usr/share/bopscrk/lib/lyricpass.py", line 92, in get_lyrics
    response = requests.get(songurl)                            # Now we scrape each individual song page
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 668, in send
    history = [resp for resp in gen] if allow_redirects else []
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 247, in resolve_redirects
    **adapter_kwargs
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='lyrics.fandom.com', port=443): Max retries exceeded with url: /wiki/Adele:Hello (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f096a267950>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))

lyricspass is working totally fine so not an upstream bug:

python2 lyricpass.py adele adele.txt
Looking for lyrics from adele and writing to file: adele.txt
Getting lyrics for http://lyrics.wikia.com/wiki/adele:Daydreamer
Found 25 lines of lyrics
Getting lyrics for http://lyrics.wikia.com/wiki/adele:Best_for_Last
Found 42 lines of lyrics
Getting lyrics for http://lyrics.wikia.com/wiki/adele:Chasing_Pavements
Found 33 lines of lyrics
Getting lyrics for http://lyrics.wikia.com/wiki/adele:Cold_Shoulder
Found 32 lines of lyrics
Getting lyrics for http://lyrics.wikia.com/wiki/adele:Crazy_for_You
Found 28 lines of lyrics
Getting lyrics for http://lyrics.wikia.com/wiki/adele:Melt_My_Heart_to_Stone
Found 31 lines of lyrics
Getting lyrics for http://lyrics.wikia.com/wiki/adele:First_Love

Capital letters changed automatically to lowercase

Running In interactive mode autochanges all capital words to lowercase.

Example: John,Doe,Github,Blue

Tried both ways using Y and N invoking Case Transformations.

Output file will always only produce lowercase words

Example:
john
doe
github
blue

Not able to generate output in the following format:
John
Doe
Github
Blue

AttributeError: 'bool' object has no attribute 'split'

Seems similar to #18 but I don't understand how to resolve the same. I have separately printed out self.read_config('TRANSFORMS', 'leet_charset') which comes out as False. Any idea to get around the same?

Following is the error traceback.

Traceback (most recent call last):
  File "C:\Users\Microsoft\AppData\Local\Programs\Python\Python310\Scripts\bopscrk-script.py", line 33, in <module>
    sys.exit(load_entry_point('bopscrk==2.4.5', 'console_scripts', 'bopscrk')())
  File "C:\Users\Microsoft\AppData\Local\Programs\Python\Python310\lib\site-packages\bopscrk-2.4.5-py3.10.egg\bopscrk\bopscrk.py", line 22, in start
    main.run(name, __version__)
  File "C:\Users\Microsoft\AppData\Local\Programs\Python\Python310\lib\site-packages\bopscrk-2.4.5-py3.10.egg\bopscrk\modules\main.py", line 46, in run
    Config.setup()
  File "C:\Users\Microsoft\AppData\Local\Programs\Python\Python310\lib\site-packages\bopscrk-2.4.5-py3.10.egg\bopscrk\modules\config.py", line 49, in setup
    self.LEET_CHARSET = (self.read_config('TRANSFORMS', 'leet_charset')).split()
AttributeError: 'bool' object has no attribute 'split'

import error

Traceback (most recent call last):
File "bopscrk.py", line 17, in
from modules.config import Config
File "/home/rooty/bopscrk/modules/config.py", line 6, in
import configparser

Any ideas?

[+] Applying recursive leet transforms to 89304 words...
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/synchronize.py", line 28, in
from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock' from '_multiprocessing' (/data/data/com.termux/files/usr/lib/python3.10/lib-dynload/_multiprocessing.cpython-310.so)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/data/data/com.termux/files/home/bopscrk/bopscrk.py", line 27, in
bopscrk.run()
File "/data/data/com.termux/files/home/bopscrk/modules/main.py", line 140, in run
temp_wordlist += multithread_transforms(leet_transforms, final_wordlist)
File "/data/data/com.termux/files/home/bopscrk/modules/transforms.py", line 138, in multithread_transforms
with ThreadPool(Config.THREADS) as pool:
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/dummy/init.py", line 124, in Pool
return ThreadPool(processes, initializer, initargs)
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/pool.py", line 927, in init
Pool.init(self, processes, initializer, initargs)
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/pool.py", line 196, in init
self._change_notifier = self._ctx.SimpleQueue()
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/context.py", line 113, in SimpleQueue
return SimpleQueue(ctx=self.get_context())
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/queues.py", line 342, in init
self._rlock = ctx.Lock()
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/context.py", line 67, in Lock
from .synchronize import Lock
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/synchronize.py", line 30, in
raise ImportError("This platform lacks a functioning sem_open" +
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

How to install ?

This is not really an issue but a remark.

Your project is awesome. I am sure it is not a pain to install but a section describing how to install it is highly useful to reduce uncertainty burden for users.

May you have a great day.

AttributeError: 'bool' object has no attribute 'lower'

Issue

Traceback (most recent call last):                                                                                                                                                                                                           
  File "/usr/bin/bopscrk.py", line 22, in <module>                                                                                                                                                                                           
    Config.setup()                                                                                                                                                                                                                           
  File "/usr/lib/python3.10/site-packages/modules/config.py", line 42, in setup                                                                                                                                                              
    self.EXTRA_COMBINATIONS = self.parse_booleans(self.read_config('COMBINATIONS', 'extra_combinations'))                                                                                                                                    
  File "/usr/lib/python3.10/site-packages/modules/config.py", line 32, in parse_booleans                                                                                                                                                     
    if value.lower() == 'true':                                                                                                                                                                                                              
AttributeError: 'bool' object has no attribute 'lower'

Related code

extra_combinations=true

self.EXTRA_COMBINATIONS = self.parse_booleans(self.read_config('COMBINATIONS', 'extra_combinations'))

def parse_booleans(self, value):
if value.lower() == 'true':
return True
return False

def read_config(self, category, field):
cfg = configparser.ConfigParser()
try:
cfg.read([self.CFG_FILE])
value = cfg.get(category, field)
except:
value = False
return value

Example

test.ini

[TEST]
key=true

It seems at some point the 'true' string is cast to a True boolean, but reproducing manually extracting the conf is giving a string and not a bool so I don't know at which level the issue happens.

$  python
Python 3.10.5 (main, Jun  6 2022, 18:49:26) [GCC 12.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import configparser
>>> config = configparser.ConfigParser()
>>> config.sections()
[]
>>> config.read('test.ini')
['test.ini']
>>> config.sections()
['TEST']
>>> config['TEST']['key']
'true'
>>> config.get('TEST', 'key')
'true'
>>> 'true'.lower()
'true'
>>> True.lower()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'bool' object has no attribute 'lower'

bopscrk error not run (python 2.7)

Discussed in https://github.com/r3nt0n/bopscrk/discussions/25

Originally posted by view99ok March 8, 2023

(root㉿kaliq)-[/home/qq/Desktop/bopscrk]
└─# pip install bopscrk        
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f1845443190>: Failed to establish a new connection: [Errno -2] Name or service not known',)': /simple/bopscrk/
Collecting bopscrk
  Using cached bopscrk-2.4.5.tar.gz (39 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python2 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-1NysUU/bopscrk/setup.py'"'"'; __file__='"'"'/tmp/pip-install-1NysUU/bopscrk/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-NU0LKl
         cwd: /tmp/pip-install-1NysUU/bopscrk/
    Complete output (3 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ImportError: No module named setuptools
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
                                                                                
┌──(root㉿kaliq)-[/home/qq/Desktop/bopscrk]
└─# git clone --recurse-submodules https://github.com/r3nt0n/bopscrk
Cloning into 'bopscrk'...
remote: Enumerating objects: 485, done.
remote: Counting objects: 100% (174/174), done.
remote: Compressing objects: 100% (91/91), done.
remote: Total 485 (delta 93), reused 135 (delta 80), pack-reused 311
Receiving objects: 100% (485/485), 11.17 MiB | 410.00 KiB/s, done.
Resolving deltas: 100% (259/259), done.
Submodule 'bopscrk/modules/lyricpass' (https://github.com/r3nt0n/lyricpass.git) registered for path 'bopscrk/modules/lyricpass'
Cloning into '/home/qq/Desktop/cupp/bopscrk/bopscrk/modules/lyricpass'...
remote: Enumerating objects: 157, done.        
remote: Counting objects: 100% (1/1), done.        
remote: Total 157 (delta 0), reused 0 (delta 0), pack-reused 156        
Receiving objects: 100% (157/157), 54.82 KiB | 431.00 KiB/s, done.
Resolving deltas: 100% (54/54), done.
Submodule path 'bopscrk/modules/lyricpass': checked out '6f1f6d74cc645ccf1a75225c84f68a18cd522f02'
                                                                                
┌──(root㉿kaliq)-[/home/qq/Desktop/bopscrk]
└─# bopscrk -i
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/dist-packages/bopscrk-2.4.5-py3.11.egg/bopscrk/bopscrk.py", line 16, in start
    from .modules import main
  File "/usr/local/lib/python3.11/dist-packages/bopscrk-2.4.5-py3.11.egg/bopscrk/modules/main.py", line 11, in <module>
    from . import banners
  File "/usr/local/lib/python3.11/dist-packages/bopscrk-2.4.5-py3.11.egg/bopscrk/modules/banners.py", line 10, in <module>
    from .transforms import *
  File "/usr/local/lib/python3.11/dist-packages/bopscrk-2.4.5-py3.11.egg/bopscrk/modules/transforms.py", line 9, in <module>
    from alive_progress import alive_bar
ModuleNotFoundError: No module named 'alive_progress'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/bopscrk", line 33, in <module>
    sys.exit(load_entry_point('bopscrk==2.4.5', 'console_scripts', 'bopscrk')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/bopscrk-2.4.5-py3.11.egg/bopscrk/bopscrk.py", line 20, in start
    from modules import main
ModuleNotFoundError: No module named 'modules'</div>

Does it stores temporary data of filesystem?

I have started the command with 26 words, 4 words combinations and all the transformations.
It has been running for 8 days already but looks like it hasn't written anything to FS yet. Is it OK?

Below is everything that I got as output on the first day.
Thanks.
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.