Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/JohnHammond/katana
/ functions
Functions
398 in github.com/JohnHammond/katana
⨍
Functions
398
◇
Types & classes
126
↳
Endpoints
1
Method
evaluate
Evaluate the target. Run ``snow`` on the target and recurse on the standard output. :param case: A case returned by ``enumer
katana/units/stego/snow.py:46
Method
evaluate
Evaluate the target. Attempt to retrieve the DTMF tones present in the target sound file. :param case: A case returned by ``
katana/units/stego/dtmf_decode.py:260
Method
evaluate
Evaluate the target. Convert anything that could potentially be whitespace steganography and pass it to Katana. :param case:
katana/units/stego/whitespace.py:66
Method
evaluate
Evaluate the target. This will take the current ``case`` supplied by the ``enumerate`` function, generate an MD5 hash with it and com
katana/units/crack/md5.py:71
Method
evaluate
Evaluate the target. Extract the target with TAR and recurse on any new found files. :param case: A case returned by ``enume
katana/units/rev/ltrace.py:45
Method
evaluate
This ``evaluate`` function calls the command:: apktool decode -f <the_target> -o <artifact_path> and loops through the r
katana/units/apk/apktool.py:44
Method
evaluate
Evaluate the target. Extract the target with TAR and recurse on any new found files. :param case: A case returned by ``enume
katana/units/tar/extract.py:48
Method
evaluate
Evaluate the target. Extract the target with GZIP and recurse on any new found files. :param case: A case returned by ``enum
katana/units/gzip/gunzip.py:48
Method
evaluate
Evaluate the target. Attempt to perform SQL injection on the form found on the target web page. :param case: A case returned
katana/units/web/basic_sqli.py:137
Method
evaluate
Evaluate the target. Authenticate to the site with a bogey login and then adjust or add cookies. :param case: A case returne
katana/units/web/logon_cookies.py:79
Method
evaluate
Evaluate the target. Attempt to perform NoSQL injection (MongoDB) on the form found on the target web page. :param case: A c
katana/units/web/basic_nosqli.py:79
Method
evaluate
(self, case)
katana/units/web/cookies.py:50
Method
evaluate
Evaluate the target. Look for links inside of the target web page and reach out to each of them, queueing them as a new target.
katana/units/web/spider.py:86
Method
evaluate
Evaluate the target. Reach out to every entry in the robots.txt file and look for flags. :param case: A case returned by ``e
katana/units/web/robots.py:111
Method
evaluate
Evaluate the target. Use the uploaded webshell to try and run commands and if command output is shown, find a potential flag location
katana/units/web/basic_img_shell.py:165
Method
evaluate
Evaluate the target. If a ``.git`` repository is found, download it and look through all of the objects for a flag. :param c
katana/units/web/git.py:645
Method
evaluate
Evaluate the target. Submit an HTTP form. :param case: A case returned by ``enumerate``. For this unit,\ the ``enumerate`` f
katana/units/web/form_submit.py:70
Method
evaluate
Evaluate the target. Run the target as Brainfuck code and give the standard output results to Katana. :param case: A case re
katana/units/esoteric/brainfuck.py:152
Method
evaluate
Evaluate the target. Run the target as JSFuck code and return the evaluated source code to Katana. :param case: A case retur
katana/units/esoteric/jsfuck.py:55
Method
evaluate
Evaluate the target. Run the target as Pikalang code and give the standard output results to Katana. :param case: A case ret
katana/units/esoteric/pikalang.py:65
Method
evaluate
Evaluate the target. Run the target as Ook code and give the standard output results to Katana. :param case: A case returned
katana/units/esoteric/ook.py:97
Method
evaluate
Evaluate the target. Run the ``npiet`` code and give the standard output results to Katana. :param case: A case returned by
katana/units/esoteric/piet.py:54
Method
evaluate
Evaluate the target. Run the target as Malbolge code and return the standard output to Katana. :param case: A case returned
katana/units/esoteric/malbolge.py:199
Method
evaluate
Evaluate the target. Run the target as Cow code and give the standard output results to Katana. :param case: A case returned
katana/units/esoteric/cow.py:229
Method
factor_n
()
katana/units/crypto/rsa.py:376
Method
family_tree
r""" A generator which yields all parent units
katana/unit.py:287
Method
finalization_hook
Updated dynamic prompt
katana/repl/__init__.py:374
Method
get_challenge
(self, ident: str)
katana/repl/pico.py:205
Method
get_challenge
Query the entire challenge by identifier :param ident: An integer identifier (likely retrieved from self.challenges)
katana/repl/ctf.py:109
Function
get_challenge_choices
Get a list of completion items for the possible challenges :param repl: a katana Repl object :return: list completion items
katana/repl/__init__.py:285
Function
get_monitor_choices
Get available monitors for command completion :param repl: The Repl object :return: List of completion objects referring to monitore
katana/repl/__init__.py:274
Method
get_name
(cls)
katana/unit.py:493
Function
get_provider
Build a CTFProvider object for the specified CTF provider name. The provider must be one of the known implemented CTF Providers. If it is not
katana/repl/ctf.py:140
Function
get_target_choices
Get available targets for command completion :param repl: The Repl object :return: List of completion object referring to queued targets
katana/repl/__init__.py:250
Method
getb
same as get, but returns a boolean value
katana/unit.py:308
Function
has_a_bad_start
This is a convenience function just to avoid bad links above
katana/units/web/spider.py:32
Function
has_a_bad_start
This is a convenience function just to avoid bad links above
katana/units/web/git.py:554
Method
init
(self, url, directory, retry, timeout, unit, katana)
katana/units/web/git.py:221
Method
is_webpage
Opposite of is_website_root?
katana/target.py:474
Method
is_website_root
if this is a URL, return whether we are at the root of the URL
katana/target.py:465
Function
isprintable
This is a convenience function to be used rather than the usual ``str.printable`` boolean value, as that built-in **DOES NOT** consider
katana/util.py:5
Function
mappingReplacer
(a, b)
katana/units/esoteric/__jsfuck.js:226
Function
mod_inv
This function is used for the Weiner's Little D attack. Deterine the modular inverse, given a base and the modulus. :param a: The base
katana/units/crypto/rsa.py:103
Function
numberReplacer
(_, y)
katana/units/esoteric/__jsfuck.js:157
Method
on_artifact
Log a new artifact
katana/monitor.py:136
Method
on_artifact
( self, manager: katana.manager.Manager, unit: katana.unit.Unit, path: str = None )
katana/repl/__init__.py:222
Method
on_completion
(self, manager: katana.manager.Manager, timed_out: bool)
katana/monitor.py:272
Method
on_created
Called when a new file is created
katana/repl/__init__.py:59
Method
on_download_update
( self, manager: katana.manager.Manager, download: katana.manager.Download )
katana/repl/__init__.py:213
Method
on_exception
( self, manager: katana.manager.Manager, unit: katana.unit.Unit, exception: Ex
katana/monitor.py:143
Method
on_exception
( self, manager: katana.manager.Manager, unit: katana.unit.Unit, exc: Exception )
katana/repl/__init__.py:183
Method
on_flag
(self, manager: Manager, unit: Unit, flag: str)
examples/everything.py:14
Method
on_flag
Log the solution chain of units which resulted in the given flag
katana/monitor.py:106
Method
on_flag
(self, manager: Manager, unit: Unit, flag: str)
katana/repl/__init__.py:92
Method
on_manager_exception
Called when the manager catches an exception. By default, we do nothing. This is most likely a KeyboardInterrupt or some other signal that wa
katana/monitor.py:83
Method
on_work
( self, manager: katana.manager.Manager, threadid: int, unit: katana.unit.Unit
katana/repl/__init__.py:193
Function
process_output
This function expects a ``subprocess.Popen`` object, to read the standard output and standard error streams. It reads these line-by-line, str
katana/util.py:56
Method
raw
Return a bytes-like object for any given target type: - Files/content already in memory: return self.content - Files already
katana/target.py:370
Method
scoreboard
( self, localize: User = None, count=10, bracket: Bracket = None )
katana/repl/pico.py:151
Method
scoreboard
Returns a list of users referring to the current scoreboard :param bracket: which bracket to query :param localize: Name of a
katana/repl/ctf.py:85
Method
set
Wrapper around ConfigParser.set. We need to take into account some special configs which require other things to be accounted for (e.g. flag_
katana/manager.py:136
Method
setUp
Setup a Manager and Monitor object The Katana Unit Tests can override this method, but must call the parent. You can use thi
tests/__init__.py:43
Method
stream
Return a file-like object for any given target type: - Files/content already in memory: return a BytesIO object - Files alre
katana/target.py:396
Method
submit
(self, challenge: Challenge, flag: str)
katana/repl/pico.py:242
Method
submit
Attempt to submit a flag to the CTF server for the specified challenge. :param challenge: The challenge for which you are su
katana/repl/ctf.py:119
Method
tearDown
Tear down any artifacts from the last run The Katana Unit Tests can override this method, but must call the parent. You can
tests/__init__.py:63
Method
test_7bit
(self)
tests/units/raw/unbinary.py:7
Method
test_8bit
(self)
tests/units/raw/unbinary.py:19
Method
test_affine
(self)
tests/units/crypto/affine.py:8
Method
test_ascii85
(self)
tests/units/raw/ascii85.py:8
Method
test_atbash
(self)
tests/units/crypto/atbash.py:7
Method
test_base32
(self)
tests/units/raw/base32.py:8
Method
test_caesar255
(self)
tests/units/crypto/caesar255.py:18
Method
test_moresecode
(self)
tests/units/raw/morsecode.py:7
Method
test_multibyte
(self)
tests/units/crypto/xor.py:21
Method
test_orchestra
(self)
tests/units/raw/base64.py:8
Method
test_orchestra
(self)
tests/units/raw/strings.py:7
Method
test_orchestra
(self)
tests/units/raw/base58.py:8
Method
test_phonetic
(self)
tests/units/crypto/phonetic.py:8
Method
test_polybius
(self)
tests/units/crypto/polybius.py:8
Method
test_qrcode
(self)
tests/units/raw/qrcode.py:7
Method
test_single_byte
(self)
tests/units/crypto/xor.py:8
Method
test_undecimal
(self)
tests/units/raw/undecimal.py:7
Method
test_unhexlify
(self)
tests/units/raw/unhexlify.py:8
Method
test_urldecode
(self)
tests/units/raw/urldecode.py:7
Method
test_woof64
(self)
tests/units/raw/exiftool.py:7
Function
tri
This function is used as part of Malbolge's operations.
katana/units/esoteric/malbolge.py:49
Method
users
(self)
katana/repl/ctfd.py:102
Method
users
This is difficult for picoCTF. We are not going to implement it right now...
katana/repl/pico.py:147
Method
users
Returns a Generator yielding Users from highest score to lowest
katana/repl/ctf.py:75
Method
validate
Validate the manager configuration for each unit. Units without proper configuration will raise an exception which will be fed up to
katana/unit.py:367
Function
valueReplacer
(c)
katana/units/esoteric/__jsfuck.js:230
Method
web_host
if this is a URL, return the hostname
katana/target.py:420
Method
web_port
if this is a URL, return the port number
katana/target.py:429
Method
web_protocol
if this is a URL, return the protocol
katana/target.py:411
Method
web_query
if this is a url, return the query string
katana/target.py:447
Method
web_uri
if this is a url, return the URI
katana/target.py:438
Method
website_root
if this is a url, return the root of the URL (without any URI)
katana/target.py:456
← previous
301–398 of 398, ranked by callers