ctf-party 1.3.5 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f09406956f91fdbe561c73f343efc68e28ad20c774370053e88472ebb1bb5098
4
- data.tar.gz: 8bf8dfddfdbb4780578216b022d4815778f6f79d489506a2dba9fa0355bc8f90
3
+ metadata.gz: 10a305673b24e2d87a3bfa4323788418ebae0df79afca8214e6b61144c521aa9
4
+ data.tar.gz: 26bd71e348d16938441a50f0e31cd9d27140b30dfa8eb47042166934a9334978
5
5
  SHA512:
6
- metadata.gz: 40adf3307a9e8b99ccda9af3d1ab063413433998455cf92c292eb9b6e8d3deb754280673e796d7d980e22c87c222b7eb07c1fd7a6434d4597c186857ea973937
7
- data.tar.gz: e3d1bbf14cf1dd05112833a7fa8096acaf0ee6065a266990fa56a71c30415f504a83255c8ae835188dfbd25593e37b983d06b7c137ed5e3d0598ebd3dcc83edd
6
+ metadata.gz: ff8243a49da5b97cbe1978a9c2243541ec5ede71ecaabdd9520fc38b59705506e98d3c3e9b5c1dc75ccfcbb41bc505c66424401c77873d5d08b762766f877ae8
7
+ data.tar.gz: d56fa0d1eba3673f3799a797582a809fddc86ea1a0b5e952db00aa7ac699be6760d0c4f275d903ef6c30a9d7659f29904c23a086e4c120fe4141e0133d4de10f
data/bin/ctf-party ADDED
@@ -0,0 +1,94 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ # Ruby internal
5
+ require 'pp'
6
+ # Project internal
7
+ require 'ctf_party'
8
+ require 'ctf_party/version'
9
+ # External
10
+ require 'docopt'
11
+
12
+ cmd_whitelist = {
13
+ alternatecase: 'Change one characte on two upcase and the other downcase',
14
+ bin2hex: 'Encode an binary string to a hexadecimal string',
15
+ bin2str: 'Alias for from_bin',
16
+ dec2hex: 'Encode an decimal string to a hexadecimal string',
17
+ dec2str: 'Alias for from_dec',
18
+ from_b64: 'Decode the string from base64',
19
+ from_bin: 'Decode a binary string',
20
+ from_dec: 'Decode a decimal string (decimal to hexadecimal then hexadecimal to string)',
21
+ from_hex: 'Decode a hexadecimal string',
22
+ from_hexip: 'Decode a hexadecimal IP string into a dotted decimal one',
23
+ hex2bin: 'Encode an hexadecimal string to a binary string',
24
+ hex2dec: 'Encode an hexadecimal string to a decimal string',
25
+ hex2str: 'Alias for from_hex',
26
+ htmlescape: 'HTML escape the string',
27
+ htmlunescape: 'HTML unescape the string',
28
+ leet: 'Transform into leet speak (l337 5p34k)',
29
+ md5: 'Calculate the md5 hash of the string',
30
+ randomcase: 'Change the case of characters randomly',
31
+ rmd160: 'Calculate the RIPEMD-160 hash of the string',
32
+ rot13: 'Encrypt / Decrypt the string with Caesar cipher with a shift of 13',
33
+ sha1: 'Calculate the sha1 hash of the string',
34
+ sha2: 'Calculate the sha2 hash of the string',
35
+ sha2_256: 'Alias for sha2 with bitlen of 256',
36
+ sha2_384: 'Alias for sha2 with bitlen of 384',
37
+ sha2_512: 'Alias for sha2 with bitlen of 512',
38
+ str2bin: 'Alias for to_bin',
39
+ str2dec: 'Alias for to_dec',
40
+ str2hex: 'Alias for to_hex',
41
+ to_b64: 'Encode the string into base64',
42
+ to_bin: 'Encode a string into binary',
43
+ to_dec: 'Encode a string into decimal (string to hexadecimal then hexadecimal to decimal)',
44
+ to_hex: 'Encode a string into hexadecimal',
45
+ to_hexip: 'Encode a dotted decimal IP into a hexadecimal one',
46
+ urldecode: 'URL-decode the string',
47
+ urlencode: 'URL-encode the string'
48
+ }
49
+
50
+ doc = <<~DOCOPT
51
+ ctf-party by noraj
52
+
53
+ Usage:
54
+ ctf-party <string> <cmd>... [--debug]
55
+ ctf-party --list-commands [--debug]
56
+ ctf-party -h | --help
57
+ ctf-party --version
58
+
59
+ Options:
60
+ -l, --list-commands List available commands (see https://noraj.github.io/ctf-party/yard/String.html)
61
+ --debug Display arguments
62
+ -h, --help Show this screen
63
+ --version Show version
64
+
65
+ Examples:
66
+ ctf-party 'security' to_hex
67
+ ctf-party 'NzQ2Zjc0NmY=' from_b64 hex2str str2bin
68
+ DOCOPT
69
+
70
+ begin
71
+ args = Docopt.docopt(doc, version: Version::VERSION)
72
+ # use case 1, using the tool
73
+ pp args if args['--debug']
74
+ if args['<string>']
75
+ wrong_cmd = args['<cmd>'] - cmd_whitelist.keys.map(&:to_s)
76
+ if wrong_cmd.empty?
77
+ output = args['<string>']
78
+ args['<cmd>'].each do |cmd|
79
+ output = output.public_send(cmd)
80
+ end
81
+ puts output
82
+ else
83
+ abort "Those commands don't exist: #{wrong_cmd}"
84
+ end
85
+ elsif args['--list-commands']
86
+ cmd_whitelist.each do |k, v|
87
+ puts "#{k.to_s.ljust(15)}#{v}"
88
+ end
89
+ end
90
+ # use case 2, help: already handled by docopt
91
+ # use case 3, version: already handled by docopt
92
+ rescue Docopt::Exit => e
93
+ puts e.message
94
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Version
4
- VERSION = '1.3.5'
4
+ VERSION = '1.4.0'
5
5
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ctf-party
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.5
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre ZANNI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-02 00:00:00.000000000 Z
11
+ date: 2021-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: docopt
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.6'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.6'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -136,16 +150,18 @@ dependencies:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
152
  version: '0.9'
139
- description: A library to enhance and speed up script/exploit writingfor CTF players
140
- (or security researchers, bug bountyhunters, pentesters but mostly focused on CTF)
141
- bypatching the String class to add a short syntax of usual code patterns.
153
+ description: A CLI tool & library to enhance and speed up script/exploitwriting for
154
+ CTF players (or security researchers, bug bountyhunters, pentesters but mostly focused
155
+ on CTF) bypatching the String class to add a short syntax of usualcode patterns.
142
156
  email: alexandre.zanni@engineer.com
143
157
  executables:
158
+ - ctf-party
144
159
  - ctf_party_console
145
160
  extensions: []
146
161
  extra_rdoc_files: []
147
162
  files:
148
163
  - LICENSE.txt
164
+ - bin/ctf-party
149
165
  - bin/ctf_party_console
150
166
  - lib/ctf_party.rb
151
167
  - lib/ctf_party/base64.rb
@@ -187,5 +203,6 @@ requirements: []
187
203
  rubygems_version: 3.1.4
188
204
  signing_key:
189
205
  specification_version: 4
190
- summary: A library to enhance and speed up script/exploit writing for CTF players
206
+ summary: A CLI tool & library to enhance and speed up script/exploitwriting for CTF
207
+ players
191
208
  test_files: []